Puppeteer - 计算 DOM 中的元素

Puppeteer - counting elements in the DOM

我知道这里已经回答了这个问题

然而,按照这种方法,我得到 0 作为结果

使用 page.$$ - 在我的测试中,我总是得到 0

console.log((await page.$$('.clients-table > tbody > tr > td')).length);

在浏览器中使用 document.querySelectorAll() 验证,结果为 4

怎么会这样???

数据尚未加载。您可以使用 waitForSelector 来确保正确加载数据。

所以在计算数字之前添加这个,

await page.waitForSelector('.clients-table > tbody > tr > td');
console.log((await page.$$('.clients-table > tbody > tr > td')).length);

您还可以使用 waitUntil: 'networkidle0' 参数确保页面已完全加载。