Sobre o projeto

Este pacote fornece um cliente PHP para o Chrome DevTools Protocol, a interface usada para controlar navegadores Chrome/Chromium programaticamente. É distribuído via Composer sob o nome de pacote jakubkulhan/chrome-devtools-protocol e licenciado sob MIT. Capacidades principais evidenciadas pelo README: - Iniciar um processo do Chrome por meio de uma classe Launcher, com um objeto Context usado para definir prazos de operação (por exemplo, um tempo limite de 30 segundos). - Abrir e ativar abas em uma instância iniciada e, em seguida, obter um cliente DevTools para essa aba. - Conduzir operações de página, como habilitar o domínio Page, navegar para uma URL e aguardar o evento de carregamento. - Produzir saída a partir de páginas, incluindo impressão em PDF e captura de telas com formato e qualidade configuráveis. - Gerenciar o ciclo de vida explicitamente: o cliente DevTools deve ser fechado, e o processo do navegador deve ser encerrado ao finalizar. Contextos de navegador isolados: A biblioteca oferece suporte a contextos de navegador do Chrome headless, descritos como semelhantes a janelas anônimas, nas quais cookies e armazenamento local não são compartilhados. Diferentemente das janelas anônimas, vários contextos de navegador isolados podem existir simultaneamente. Uma sessão criada dessa forma implementa a mesma DevtoolsClientInterface retornada pelo método devtools() de uma aba. Conectar-se a um navegador existente: Uma Instance pode ser construída diretamente a partir de um host e porta (por exemplo, localhost:9222), permitindo que o cliente se conecte a um navegador Chrome já em execução. Nesse modo, nenhum novo processo é iniciado, portanto não é necessário fechar a instância. O README mostra exemplos de uso em PHP cobrindo criação de contexto, inicialização, manipulação de abas, chamadas DevTools e limpeza. Os selos de status de build, versão estável e licença apontam para CircleCI, Packagist e o arquivo de licença, respectivamente.