@formasters777

Целостный массив при смене страниц puppeteer?

При использовании eval и evaluate, не могу пушить данные в общий массив,
при переходе разных страниц,
в общем массиве получаю несколько массивов, сколько страниц, столько и массивов.
Можно ли пушить объекты на каждой странице в глобальный массив?
Чтобы получить 1 целостный массив с объектами [ {title: "text"}, {title: "text"}, {title: "text"}, {title: "text"}, {title: "text"}, {title: "text"}, {title: "text"}, {title: "text"}, {title: "text"} ]

Получаю такой результат [ [{title: "text"}, {title: "text"}, {title: "text"}], [{title: "text"}, {title: "text"}, {title: "text"}], [{title: "text"}, {title: "text"}, {title: "text"}], ]

или их нужно соединять?

мой пример:

let uniqueLinks = [
	"url1",
	"url2",
	"url3"
                  ];
let productsList = [];
const codes = [];
let elementArray = [];
let dataArray = [];

(async () => {
	  let resultObj = {}
	let returnedResponse;
	var results = [];
	
  const browser = await puppeteer.launch({
  headless: false,
    args: [
      "--no-sandbox",
    ],
  });
  const page = (await browser.pages())[0];

	page.setUserAgent('Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/69.0.3497.100 Safari/537.36');
	
	 for (let i = 0; i < uniqueLinks.length; i ++) {
		 
	await page.goto(uniqueLinks[i]);
	await page.waitForSelector('body');
	
const reviews = await page.evaluate(() => {
    const reviewElements = document.querySelectorAll('.js-product-container');
    const reviews = [];

    reviewElements.forEach((element) => {
      const title = element.querySelector('.js-product-container .catalog-item__title').innerText;
      
      reviews.push({
        title,
      });
    });
    return reviews;
  });
   console.log(reviews);
}
  await browser.close();
})();
  • Вопрос задан
  • 38 просмотров
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы