Javascript Casperjs:如何以x秒为间隔评估页面?

Javascript Casperjs:如何以x秒为间隔评估页面?,javascript,phantomjs,setinterval,wait,casperjs,Javascript,Phantomjs,Setinterval,Wait,Casperjs,我想加载一个页面,然后每隔x秒对其进行多次评估。以下是我尝试过的两种方法: 首先使用JS setInterval: casper.on'remote.message',functionmsg{ this.echo'捕获的远程消息:'+msg; }; casper.thenEvaluatefunction{ 窗口x=0; var intervalID=setIntervalfunction{ console.logiter+window.x; if++window.x==5{ window.cle

我想加载一个页面,然后每隔x秒对其进行多次评估。以下是我尝试过的两种方法: 首先使用JS setInterval:

casper.on'remote.message',functionmsg{ this.echo'捕获的远程消息:'+msg; }; casper.thenEvaluatefunction{ 窗口x=0; var intervalID=setIntervalfunction{ console.logiter+window.x; if++window.x==5{ window.clearIntervalidIntervalid; } }, 10000; }; casper.eachlist,functionself,i{ self.wait10000、函数{ last=i; this.echo'Using this.wait'+i; }; }; casper.waitForfunction{ 返回last==list[list.length-1]&&5==this.getGlobal'x'; },功能{ 这个。回显“全部完成”。退出; }; casper.runfunction{}; 第二,使用CasperJS等待:

卡斯珀·斯泰林克,功能{ fori=1;i看起来他们应该做同样的工作,但我得到的结果不同。有人能给我一些提示吗?

你还没有说结果是什么,或者它们有什么不同。还有,在第一个代码段中列表是如何定义的。对不起,我忘了添加代码的第一行,列表只是一个间隔列表:var last,list=[0,1,2,3,4,5];。在求值函数中,我查找一些DOM元素的数量。随着时间的推移,网站在DOM中添加和删除元素,代码应该在每个时间间隔返回不同的值。但是对于上述代码,在相同的时间间隔内返回的值是不同的。请注意,第二个代码中的WAIT_toi值是第一个代码中的10000interval值。谢谢Artjom。好的,这就是我的想法。我看不出他们会有什么不同的表现。第一个代码片段中的casper.each循环有点笨拙。您只需为最终waitFor使用更长的超时时间即可:casper.waitForfunction{return 5==this.getGlobal'x';},function{this.echo'All done.;},function{this.echo'timeout';},list.length+1*10000;伟大的你说得对。谢谢你,伙计。。。