gpt4 book ai didi

jquery - 获取 puppeteer 中元素的子元素

转载 作者:行者123 更新时间:2023-12-01 03:57:31 24 4
gpt4 key购买 nike

所以我的目标是计算一个 div 类中包含多个 div 的子级的数量;为此,我选择 div,然后使用 children 属性,然后使用其 length 属性对子项进行计数并打印出来。

为了实现我的目标,我尝试在 puppeteer 中实现此代码:

$('div[data-test-selector="center-window__content"]').children

(在 Chrome 调试控制台上完美运行)

这是我转换后的代码:

let childrens = await page.evaluate(() => document.querySelector('div[data-test-selector="center-window__content"]'), i => Array.from(i.children));

但是,此表达式的计算结果为未定义

在他们的评估文档中指出:

if the function passed to the page.evaluate returns a non-Serializable value, then page.evaluate resolves to undefined.

这里是这样吗?我该如何修复它?

提前致谢。

编辑:

所以最后我认为 puppeteer 由于某种原因无法序列化子数组。

我最终使用了它:

const notifs = await page.evaluate(() => {
return (Array.from(document.querySelector('[data-test-selector="center-window__content"]').children).length);
})

感谢@TerryLennox 的帮助。

最佳答案

您可以尝试一下:

const children = await page.evaluate(() => {
return (Array.from(document.querySelector('div[data-test-selector="center-window__content"]').children).length);
})
console.log("Result:", children);

对此进行测试

html

<html>
<div data-test-selector="center-window__content">
some text
<div>Child 1</div>
<div>Child 2</div>
<div>Child 3</div>
</div>
</html>

关于jquery - 获取 puppeteer 中元素的子元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61866042/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com