我正在尝试将有关具有特定类名的所有元素的信息添加到数组中。
问题是这是一个动态生成的HTML页面,只要我向下滚动,就会出现该类名的新元素。
幸运的是,我事先知道有多少这些元素存在。
所以我的假设解决方案是检查具有该特定类名的元素数量,只要该数字小于我所知道的数字,就继续骂下去。
问题是我不确切知道如何在puppeteer中计算特定类名的元素,而且API也不是很有用。
答案 0 :(得分:6)
我认为这就是你要找的东西
const puppeteer = require('puppeteer')
async function count () {
const browser = await puppeteer.launch()
const page = await browser.newPage()
await page.goto('https://news.ycombinator.com', {waitUntil: 'networkidle2'})
await page.evaluate(_ => {
window.scrollBy(0, window.innerHeight)
})
console.log('how many?', (await page.$$('td.title')).length)
await browser.close()
}
count()