gpt4 book ai didi

javascript - NightmareJs + Jquery返回空的JSON响应

转载 作者:行者123 更新时间:2023-12-03 13:23:49 25 4
gpt4 key购买 nike

我试图处理测试工具,例如 Nightmare ,幻影等。而且似乎被一些基本的DOM操作所困扰。我在这里使用jquery以便以后使用$()。parent()方法。香港专业教育学院已经尝试了所有可能的选择器,没有使用集合。它仅返回一些数据。页面上实际上完全存在的位置。

   ....
nightmare
.goto(link)
.inject('js', 'jquery-2.2.4.min.js')
.wait()
.evaluate( () => {
$('.sport--head:not(.folding--open)').click()
})
.wait(4000)
.evaluate( () => {
let events = [];
$('.view-wrapper .events--list > li').each( (i, elem) => {
let event = {
'name' : $(elem).text()
}
events.push(event);
});
let data = JSON.stringify(events, null, '\t');
return data;
})
.end()
....

它返回实际上不是的空字段:
[{ "name": "" }, { "name": "" }, { "name": "" }, { "name": "contents" } ]

为什么会发生这种情况?有任何想法吗?

最佳答案

您不知道页面会在4秒内完全加载。

可能有一些Ajax数据,并且在您进行抓取时仅在此刻出现。或者,选择器实际上是错误的。

使用.wait而不是特定的数字来等待目标选择器,

.wait(4000)
.wait('.view-wrapper .events--list > li')

另外,通过将代码放在实际浏览器的console.log中,确保代码实际上返回了数据。

关于javascript - NightmareJs + Jquery返回空的JSON响应,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52807903/

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