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 compage.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
- Início rápido do Website Capture: captura muitas URLs sem código.
- Extensão do Chrome: salva um PNG da página inteira da aba atual.
- Juntar capturas de tela: junta capturas em uma única imagem no navegador.
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
- PlaywrightO que é o Playwright, como ele captura telas em vários navegadores e como se compara ao Puppeteer para automação.
- Navegador headlessO que é um navegador headless, como ele é usado em capturas de tela automatizadas e quais armadilhas comuns evitar.
- API de captura de telaO que é uma API de captura de tela, como ela funciona e quando usá-la para capturas programáticas.
- DevTools do navegadorO que são as DevTools do navegador, como usá-las para capturas de tela e testes responsivos e quais são os recursos mais comuns.