Как получить родительские и дочерние элементы с помощью Puppeteer?

#javascript #node.js #puppeteer

#javascript #node.js #puppeteer

Вопрос:

Я получаю дочерние элементы родительских элементов как

 const a = await page.$$('a');

for (let i = 0; i < a.length; i  ) {
constant link = // How to get HREF of a[i]?
const photo = await a[i].$eval('img', el => el.getAttribute('src'));
console.log(link);
console.log(photo);
}
  

но как я могу получить атрибуты родительского элемента, поскольку a[i] это дескриптор puppeteer, а не элемент DOM?

Ответ №1:

Вы также можете использовать evaluate функцию. Puppeteer будет знать, как использовать дескриптор.

 const href= await page.evaluate(el => el.href, a[i])