我需要帮助解决我遇到的问题,并确信node-horseman可以处理它。
我试图接受一个" window.confirm"警惕并尝试了许多事情但未成功。基本上,点击一个按钮后,我希望能够接受"使用骑士的确认信息。
通过文档,我发现了这个:
.at(事件,回调) 使用回调响应页面事件。
.at('confirm', function(msg) {
return msg === 'Like this?' ? true : false;
})
然而,当我把这样的.at放在任何 .open 之前
horseman
.at('confirm', function(msg) {
return msg === 'Do you accept?' ? true : false;
})
我收到错误说:
TypeError: horseman.at is not a function
我正在寻找:使用node-horseman接受 window.confirm 的方法。
任何帮助都将非常感谢!
答案 0 :(得分:0)
阅读this answer帮助我解决了这个问题。
我没有使用 .at ,而是执行了以下操作:
horseman
.open(myUrl)
.evaluate(function(){
var realConfirm=window.confirm;
// override the window.confirm function just once
window.confirm=function(msg){
window.confirm = realConfirm;
if (msg=="message I am Expecting"){
return true;
}else{
return false;
}
};
})
.click('#mybutton')
这很有效!
基本上,我会在下次调用window.confirm函数时覆盖它,并在执行期间将其恢复为之前的值。
我希望这也有助于其他人。