Fazer o download do antigo Headless Chrome como chrome-headless-shell

No início deste ano, anunciamos a disponibilidade do novo modo headless do Chrome (--headless=new) no Chrome 112. Esse modo permite que os desenvolvedores executem o Chrome em um ambiente autônomo sem nenhuma interface visível, útil para casos de uso de teste e automação.

Como parte deste anúncio, mencionamos nossos planos para remover o antigo modo headless do binário do Chrome. Essa remoção faz sentido, já que o antigo Headless é tecnicamente um navegador separado. Isso significa que estamos enviando dois binários de navegador em um. Ao mesmo tempo, reconhecemos que há casos de uso distintos para o modo antigo e o novo headless:

  1. O antigo modo headless é um wrapper leve em torno do módulo //content do Chromium e, portanto, tem muito menos dependências. Especificamente, ele não requer X11/Wayland, D-Bus e, em alguns aspectos, tem um desempenho melhor do que o completo navegador Chrome. Isso a torna adequada para casos de uso como captura de tela automatizada ou captura da Web.
  2. Por outro lado, o novo Headless é o verdadeiro navegador Chrome e, por isso, é mais autêntico, confiável e oferece mais recursos. Isso o torna mais adequado para testes completos de apps da Web ou testes de extensões de navegador com alta precisão.

Em outras palavras, há uma compensação entre desempenho e autenticidade. Qual é o modo headless mais adequado para você? Depende do seu caso de uso.

Um diagrama ilustrando as informações fornecidas na lista anterior.

Os desenvolvedores e testadores que não precisam da funcionalidade completa do Chrome para os casos de uso de automação podem querer usar a versão antiga do Headless. Caso contrário, o novo Headless provavelmente é a melhor escolha.

Para garantir que desenvolvedores e testadores possam escolher entre essas duas opções, anunciamos que a implementação antiga headless agora está disponível como um binário chrome-headless-shell autônomo. Esses novos binários chrome-headless-shell são gerados para cada versão do Google Chrome voltada ao usuário e estão disponíveis para download por meio da infraestrutura do Google Chrome for Testing a partir do Chrome 120.

Como posso ter acesso a binários chrome-headless-shell?

Assim como acontece com outros binários do Chrome for Testing, a maneira mais fácil de fazer o download do chrome-headless-shell para sua plataforma é usando nosso utilitário de linha de comando @puppeteer/browsers, disponível com npm. Veja alguns exemplos:

# Download the latest available `chrome-headless-shell` binary corresponding to the Stable channel.
npx @puppeteer/browsers install chrome-headless-shell@stable

# Download a specific `chrome-headless-shell` version.
npx @puppeteer/browsers install chrome-headless-shell@120.0.6098.0

Se você preferir criar seus próprios scripts automatizados para fazer o download de binários do chrome-headless-shell, podemos ajudar. O Chrome for Testing oferece endpoints da API JSON com as versões mais recentes disponíveis por canal de lançamento do Chrome (Stable, Beta, Dev e Canary). Para ter uma visão geral rápida do status mais recente, consulte o painel de disponibilidade do Chrome for Testing.

Feedback

Esperamos seu feedback sobre chrome-headless-shell. Se você tiver algum problema, informe-o.