gpt4 book ai didi

javascript - NightmareJS 脚本永远不会返回?

转载 作者:行者123 更新时间:2023-12-03 04:36:39 24 4
gpt4 key购买 nike

考虑以下 NightmareJS 脚本...

var Nightmare = require('nightmare');

var yandex = new Nightmare()
.viewport(1000,1000)
.useragent("Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/38.0.2125.111 Safari/537.36")
.goto('https://yandex.com/')
.run(function(err, nightmare) {
if(err) {
console.log(err);
}
});

它只是挂起并且永远不会让我返回到提示符。执行操作。我可以截图并做其他事情,但 Node 进程永远不会结束。

最佳答案

如果你这样使用Nightmare,你将会遇到麻烦。 Async/await 解决了使用 Nightmare.js 时的很多问题

async function test(url){
try{
const nightmare = Nightmare({show:true})
await nightmare.useragent(userAgentOption)
const response = await nightmare.goto(url)
await nightmare.wait(2000)
const evaluated = await nightmare.evaluate(()=>{
return document.querySelector("input").innerHTML
})
}catch(err){
throw new Error(err)
}
}

您可以在每个步骤之后登录该函数以查看失败的位置。

更好的选择是使用 WebStorm,因为它在调试 Nightmare.js 时效果非常好

iron-node这样的调试解决方案是基于Electron的,它们不能与Nightmare.js代码一起使用

现在你可以这样调用代码:

test("https://yandex.com").then(console.log).catch(console.log)

关于javascript - NightmareJS 脚本永远不会返回?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43266502/

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