0

我一直试图让这个代码在 nightmarejs 上工作

new Nightmare({
    show: false
}).goto('http://www.example.com')
.inject('js', 'jquery-3.1.0.js')
.evaluate(() = > {
interval = setInterval(go, 2000);
function go() {
    clearInterval(interval);
}
})
.catch(function (error) {
        console.error('Search failed:', error);
    });

为什么这段代码永远不会退出?

更新

如果我像这样使用 .end() 方法:

new Nightmare({
    show: false
}).goto('http://www.example.com')
.inject('js', 'jquery-3.1.0.js')
.evaluate(() = > {
interval = setInterval(go, 2000);
function go() {
    if (condition)
    clearInterval(interval);
}
})
.end() <-----
.catch(function (error) {
        console.error('Search failed:', error);
    });

然后程序存在而不让评估函数完成

4

0 回答 0