Как вы нажимаете каждую ссылку на странице по очереди в Puppeteer? - PullRequest
0 голосов
/ 18 июня 2019

Я получаю сообщение об ошибке, когда пытаюсь щелкнуть каждую страницу по очереди следующим образом:

Я пытался использовать функцию .click для puppeteer, но она выдает мне ошибку: Ошибка:Контекст выполнения был разрушен, скорее всего, из-за навигации.

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
}

Хотел бы щелкнуть ссылки по одной и вернуться на предыдущую страницу

1 Ответ

1 голос
/ 19 июня 2019

хорошо, если вы перейдете на новую страницу, нажав на первую ссылку, вы не сможете нажать на остальные из них ... потому что вы больше не находитесь на странице ссылок, просто соберите все ссылки в массив ...просто используйте другую функцию, чтобы открыть ссылки

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 
}
...