javascript - Puppeteer querySelectorAll 无法正确获取元素

标签 javascript arrays node.js puppeteer

我正在使用 Puppeteer 并尝试使用 document.querySelectorAll 获取元素列表,然后循环并执行某些操作,但是,我的代码似乎有问题,它尽管我的元素位于页面上,但我的 JS:

let elements = await page.evaluate(() => document.querySelectorAll("div[class^='my-class--']"))
for (let el of Array.from(elements)) {
  // do something
}

我的 elementpage.evaluate 有什么问题吗?

最佳答案

据我了解,puppeteer 将所有 HTML 作为一个巨大的字符串返回。这是因为 Node 不在浏览器中运行,因此 HTML 不会被解析。所以 DOM 选择器将不起作用。

解决此问题的方法是使用 Cheerio.js模块,它允许您使用 JQuery 抓取元素,就好像它是解析的 DOM 一样。

关于javascript - Puppeteer querySelectorAll 无法正确获取元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60903764/

相关文章:

javascript - 使用v8插件实现sublime text 2的js插件

javascript - lodash分配键值对

javascript - 获取在标记模板中传递的变量名称

java - 比较二维数组然后将它们相加

arrays - 字符串和数组的集差

python - 一次删除多个数组中所有给定值的出现

node.js - 在 CCAvenue 中获取必需参数缺失错误

javascript - 如何检查数组是否相等?

javascript - 来自一个函数的 React Child 错误正在引用另一个函数

javascript - 如何在动态生成的select标签中实现onchange函数