Сканирование нескольких страниц одновременно

#javascript #puppeteer

#javascript #кукловод

Вопрос:

У меня проблема с кукловодом. У меня есть массив со ссылками

 let links = ["...", "...", "..."];
  

Это около 30 ссылок. Я хотел очистить их все сразу с помощью Promise.all()

 let descriptions = await Promise.all(
    links.map((url) => getDescription(page, url))
);
  

На каждой странице есть описание, но по какой-то причине мой descriptions массив заполнен 30 одинаковыми описаниями.

Почему это так? Мне нужно очищать одну за другой или?

Функция описания:

 export async function getDescription(page, url) {
  await page.goto(url);
  let selector = ".C4VMK > span";
  return page.$eval(selector, (handle) => handle.textContent);
}
  

Ответ №1:

Я справился с этим следующим образом:

Я создаю новую вкладку и открываю этот URL-адрес из этого

 export async function getDescription(browser, url) {
  let page = await browser.newPage();
  await page.goto(url);
  let selector = ".C4VMK > span";
  let result = await page.$eval(selector, (handle) => handle.textContent);
  page.close();
  return resu<
}