获取一系列元素并使用 Puppeteer 导航孩子
Get an array of elements and navigate childrens with Puppeteer
我需要得到一个具有相同class ID的元素数组,即class = "col-lg-3 col-md-4 col-xs-4 mb-30" 在我的例子中。然后从这个数组的每个元素中获取各种数据,例如图像。这是例如网站:https://altadefinizione.sale/?s=matrix
我试过 const feedHandle = await page.$$('.col-lg-3.col-md-4.col-xs-4.mb-30');
但结果是一个不允许您导航到 children 的句柄。
谢谢你的帮助。
尽量把DOM处理全部放在page.evaluate()
里面,最简单的方法:
import puppeteer from 'puppeteer';
const browser = await puppeteer.launch();
try {
const [page] = await browser.pages();
await page.goto('https://altadefinizione.sale/?s=matrix');
const data = await page.evaluate(() => {
const divs = document.querySelectorAll('.col-lg-3.col-md-4.col-xs-4.mb-30');
const imgSources = Array.from(divs, div => div.querySelector('img').src);
return imgSources;
});
console.log(data);
} catch (err) { console.error(err); } finally { await browser.close(); }
我需要得到一个具有相同class ID的元素数组,即class = "col-lg-3 col-md-4 col-xs-4 mb-30" 在我的例子中。然后从这个数组的每个元素中获取各种数据,例如图像。这是例如网站:https://altadefinizione.sale/?s=matrix
我试过 const feedHandle = await page.$$('.col-lg-3.col-md-4.col-xs-4.mb-30');
但结果是一个不允许您导航到 children 的句柄。
谢谢你的帮助。
尽量把DOM处理全部放在page.evaluate()
里面,最简单的方法:
import puppeteer from 'puppeteer';
const browser = await puppeteer.launch();
try {
const [page] = await browser.pages();
await page.goto('https://altadefinizione.sale/?s=matrix');
const data = await page.evaluate(() => {
const divs = document.querySelectorAll('.col-lg-3.col-md-4.col-xs-4.mb-30');
const imgSources = Array.from(divs, div => div.querySelector('img').src);
return imgSources;
});
console.log(data);
} catch (err) { console.error(err); } finally { await browser.close(); }