gpt4 book ai didi

javascript - Cron和 Nightmare js

转载 作者:行者123 更新时间:2023-12-03 13:24:14 26 4
gpt4 key购买 nike

我试图在本地运行带有 Nightmare js的cron。
不幸的是我有这个错误。

Unhandled rejection (<{"message":"navigation error","code":-...>, no stack trace)

相关问题: Nightmare JS not working

我想知道它是否与梦night需要图形界面的事实有关?

谢谢你的帮助,

编辑

在我的Cron中,我有一个Promise函数,该函数由Cron和Promise组成。
var job = new CronJob('* */10 * * * *', function() {
crawl()
}, function () {
console.log("crawl ended")
},
true
);


job.start();

这是 Nightmare 的样子:
var Nightmare = require('nightmare');
var nightmare = Nightmare({
typeInterval: 300,
show: true
});

nightmare
.goto('https://pageThatRequireToLoginThenDiplayJsonAsText.com')
.type('[name=email]', '')
.wait(1000)
.type('[name=email]', 'myemail')
.wait(1000)
.type('[name=password]', '')
.wait(1000)
.type('[name=password]', 'mypassword')
.click('[type=submit]')
.wait(25000)
.wait(25000)
.evaluate(function (page, done) {

document.documentElement
done()
})
.end()
.then(function (result) {
// fs.writeFileSync('testOutput.json', JSON.stringify(result));
console.log(JSON.stringify(result))
})
.catch(function (error) {
console.error('failed:', error);
});

当我在不使用cron的情况下运行函数抓取时,效果很好。

最佳答案

好的,我不确定这是不是正确的,因为我对此没有太多的经验,并且您还没有指定您在cron中定义的内容。但是从快速搜索中,我得出的结论是正确的。使用cron时,您会通过命令行进行调用。现在, Nightmare 是建立在电子上的,而电子又取决于 Chrome 。现在,从我从here中学到的知识中,Electron可能存在一个错误,该错误会导致每次在真实的Chrome浏览器上立即加载页面时都会超时。因此,从到目前为止的经验来看,您的应用程序需要Electron与Chromium进行通信才能正常工作,在您看来,这似乎是行不通的。很抱歉,我含糊其词并可能会记错,但这是我所能提供的尽可能少的信息。

关于javascript - Cron和 Nightmare js,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40354479/

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