Pular para o conteúdo

Puppeteer

O que é o Puppeteer, como ele captura telas e como se compara ao Playwright para automação de navegadores.

O Puppeteer é uma biblioteca de código aberto para Node.js, mantida pela equipe do Chrome, do Google. Ele controla o Chrome ou o Chromium e também o Firefox, por meio do Chrome DevTools Protocol ou do WebDriver BiDi. Ele roda em modo headless por padrão, então as páginas carregam e renderizam sem uma janela visível.

Um script do Puppeteer abre um navegador, abre páginas e trabalha com elas do jeito que um usuário faria: navega, clica, digita e espera pelo conteúdo. A biblioteca é comumente usada para capturas de tela, geração de PDFs, coleta de dados, verificações de desempenho e testes automatizados de aplicações web baseadas no Chrome.

O que o Puppeteer faz

  • Inicia o Chrome, o Chromium ou o Firefox, ou se conecta a um navegador em execução.
  • Define a viewport, o user agent, a geolocalização e as condições de rede.
  • Clica, digita, envia formulários e espera por seletores ou pela ausência de atividade de rede.
  • Intercepta requisições para bloquear anúncios, imagens ou rastreadores.
  • Salva capturas de tela com page.screenshot() e PDFs com page.pdf().

Puppeteer para capturas de tela

page.screenshot() salva saída em PNG, JPEG ou WebP. A opção fullPage captura o documento rolável inteiro, clip captura um retângulo, e um handle de elemento captura um único elemento. page.setViewport() define largura, altura e deviceScaleFactor, o que determina se a saída tem resolução 1x ou 2x.

page.pdf() é diferente de uma captura de tela. Ele usa o layout de impressão do navegador e o CSS de impressão, então pode paginar a página ou ocultar elementos, enquanto page.screenshot() registra a tela renderizada.

Puppeteer ou Playwright

O Puppeteer é uma biblioteca JavaScript centrada no Chrome. O Playwright suporta Chromium, Firefox e WebKit e oferece bindings para JavaScript, Python, Java e .NET, além de um executor de testes integrado. O Puppeteer atende projetos Node.js que precisam apenas do Chrome; o Playwright atende equipes que precisam do mecanismo WebKit do Safari ou de outra linguagem.

Erros comuns

  • Capturar a tela logo após a navegação, antes de fontes e imagens carregarem.
  • Esperar que page.pdf() tenha a mesma aparência da tela.
  • Executar muitas instâncias do navegador ao mesmo tempo e ficar sem memória.
  • Esquecer de fechar o navegador, o que deixa processos em execução.

Repetindo as mesmas capturas o tempo todo?

O Website Capture do Temposhot carrega uma lista de URLs em navegadores locais gerenciados e salva uma imagem por URL, com área Viewport ou Full page. Veja automação de capturas de tela de sites.

Perguntas frequentes

O Puppeteer funciona apenas com o Chrome?

O Chrome é o alvo principal. O Puppeteer também suporta o Firefox por meio do WebDriver BiDi.

O Puppeteer consegue capturar telas Retina?

Sim. Defina deviceScaleFactor como 2 em page.setViewport() para obter o dobro da largura e da altura em pixels.

O Puppeteer exige programação?

Sim. É uma biblioteca usada a partir de código JavaScript ou TypeScript executado em Node.js.

Fontes

Recursos relacionados

Você tira as mesmas capturas de tela várias vezes?

O Temposhot captura uma tela, janela ou área em intervalos programados e exporta o conjunto como PDF, imagens, ZIP ou MP4. As ferramentas gratuitas do navegador capturam apenas uma imagem por vez.

Recursos relacionados

Termos relacionados

Todos os termos do glossário