Boa noite, colegas. Por acaso alguém já utilizou o framework puppeteer? Teria um exemplo para clarear as ideias?
Você está vendo a versão anterior da nova experiência da Alura que estamos preparando para você. Em breve, ela ganha uma identidade visual novinha totalmente pensada em potencializar seus estudos!
Boa noite, colegas. Por acaso alguém já utilizou o framework puppeteer? Teria um exemplo para clarear as ideias?
Oi João, tudo bem?
O puppeteer é uma biblioteca baseada em promises. Basicamente, essa lib executa chamadas assíncronas para uma instância do Chrome:
const puppeteer = require('puppeteer');
const url = process.argv[2];
if (!url) {
throw "Please provide URL as a first argument";
}
async function run () {
const browser = await puppeteer.launch();
const page = await browser.newPage();
await page.goto(url);
await page.screenshot({path: 'screenshot.png'});
browser.close();
}
run();Primeiro, é feito o lauch do navegador (sem cabeçalho), depois abrimos uma nova página (guia) e navegamos até a URL fornecida via linha de comandos. Por fim, usamos o método interno do Puppeteer para fazer uma captura de tela (famosa screenshot), e só precisamos fornecer o diretório onde ele irá salvar o arquivo. Também precisamos nos certificar de fechar o navegador depois de concluirmos a nossa automação.
A documentação da lib é bem legal, deve te ajudar: https://github.com/GoogleChrome/puppeteer
Abraço!