尝试按以下方式逐个单击每个页面时出现错误:
我尝试使用puppeteer的.click函数,但它给了我错误: 错误:执行上下文被破坏,很可能是由于导航造成的。
const aTags= await page.$$('#someId > a')
for (const aTag of aTags) {
await aTag.click();
//Do stuff
page.goto(url); //this goes back to the initial page with the list of URLs
}
想要一个个单击链接并返回上一页
答案 0 :(得分:1)
好吧,如果您通过单击第一个链接转到新页面,则无法单击其余链接... bcuz,您不在链接页面了 只需将所有链接收集到一个数组中...只需使用另一个函数即可打开链接
for (const aTag of aTags) {
let href = await page.evaluate(el => el.getAttribute('href'), aTags);
await open_links(href);
}
async function open_links( url ){
// open new tab with the url
}