Principais funções no PuppeteerJS
evaluate
Definição
A função de evaluate
é responsável por executar o corpo da função (passado como argumento) no browser.
Sintaxe
await page.evaluate(() => {
// Corpo
})
Exemplo
const puppeteer = require("puppeteer");
const fs = require("fs");
(async () => {
const browser = await puppeteer.launch({ headless: false });
const page = await browser.newPage();
await page.goto("https://instagram.com/rocketseat_oficial");
const postsList = await page.evaluate(() => {
const postsNodeList = document.querySelectorAll("article img");
const postsArray = [...postsNodeList];
const postsList = postsArray.map(({ src }) => ({
src,
}));
return postsList;
});
fs.writeFile('instagram.json', JSON.stringify(postsList, null, 2), err => {
if (err) throw new Error("something went wrong");
console.log('ok')
});
await browser.close();
})();