我遇到了梦魇js的.wait()函数问题。我正在尝试等待javascript函数返回true,然后继续执行脚本的其余部分。有没有办法做到这一点,因为我试过的两种方式都不起作用。谢谢,所有的帮助表示赞赏。
var ifCompleted = function(){
for(var i = 0; i < 101; i++){
if(i == 100){
return true;
}
}
}
nightmare
.goto('http://www.google.com')
.wait(function () {
return typeof ifCompleted() !== undefined;
})
.goto('http://www.yahoo.com/')
.catch(function (error) {
console.error('Search failed:', error);
});
下一个等待功能也不起作用。
.wait(function () {
return (ifCompleted() === true);
})
这也不起作用。
.wait(function () {
return (ifCompleted() != null);
})
此代码是假设的.wait(100)不是我想要做的
答案 0 :(得分:0)
我认为你想使用then()。
const Nightmare = require('nightmare');
var nightmare = Nightmare({
show: true,
});
nightmare
.goto('http://www.google.com')
.wait(1000)
.evaluate(function() {
return "Return after 1 second";
})
.then(function(result) {
console.log(result);
nightmare.goto('http://www.yahoo.com/')
.wait(1000)
.then(function() {
console.log("Welcome to yahoo.")
}).catch(function(err) {
console.log(err);
});
}).catch(function(err) {
console.log(err);
});