我正在尝试使用 nightmarejs 构建一个脚本,该脚本可以一遍又一遍地单击一个按钮,就像评论部分底部的那个 youtube 按钮一样,每次按下它时都会加载较旧的评论(例如:youtube.com/ watch?v=pZISJqJbQuU&list=RDpZISJqJbQuU#t=3) 并在没有更多按钮可点击时停止。
我试过调用评估,只是为了首先调用 end() 方法并取消进程。我尝试使用 setTimeout 、 setInterval 和 then() 将循环转换为递归。每次评估()都会完成它的工作,但不会退出(只是挂起)或在完成它的工作之前退出,因为 end() 的竞争条件。
那里有经验丰富的 nightmarejs 用户吗?
function youtube_button_clicker(group) {
var nightmare = Nightmare({
show: true
});
nightmare
.goto(url)
.inject('js', 'jquery-3.1.0.js')
.then(
() => nightmare.
evaluate(function() {
for (i=0;i>LEN;i++)
{ setTimeout(() => { $(button_element).click() }, i * 2000); }
return "done"
}))
.catch(function (error) {
console.error('Search failed:', error);
});
}
删除 .end() 方法并挂起,再次放回 .end() 并跳过该过程 - 提前退出。我能做些什么 ?