Я не знаю, почему я не могу получить доступ внутри pageUrl.evaluate
, потому что логика та же, что и у первого page.evaluate
.
const puppeteer = require('puppeteer');
(async () => {
try {
const browser = await puppeteer.launch({devtools: true}); // {devtools: true} if you want debug inside evaluate function
const page = await browser.newPage();
await page.goto('http://localhost');
const listUrlPages = await page.evaluate(() => {
const listUrl = [];
const ulTag = document.querySelector('.widget ul.threecol');
for (let liTag of ulTag.children) {
listUrl.push( liTag.querySelector('a').href );
}
return listUrl;
});
page.close();
listUrlPages.forEach( async urlPage => {
const pageUrl = await browser.newPage();
await pageUrl.goto(urlPage);
await pageUrl.evaluate(() => {
console.log('Inside');
debugger;
const aTag = document.querySelector('.bbcle-download-extension-mp3');
});
pageUrl.close;
});
await browser.close();
} catch (error){
console.error(error);
}
})();