2017-08-09 261 views
0

我需要phantomJS在点击按钮后等待某个时间才能获得结果。这个结果存储在一个div标签中。我想用这个结果做点什么。PhantomJS:等待页面执行

我明白了JavaScript没有睡眠()和其它语言一样

我试着用,睡眠

$("#idrun").click(); 
sleep(100000); 

setTimeout(function() { 
      var b = $("#idresult").text(); 
         console.log("In windows timeout"+b); 

     }, 10000); 

而且

function sleep(delay) { 
       var start = new Date().getTime(); 
       while (new Date().getTime() < start + delay); 
      } 

呼叫但是,他们都工作。这两个函数放在page.evaluate()中。 任何其他方式来做到这一点。

我真的很感谢你的帮忙!

+0

的setTimeout()应该做的伎俩,什么与解决问题呢? – ppajer

+0

@ppajer我明白它没有执行setTimeout函数。它没有被记录在控制台中。 – user2804152

回答

0

只是等待PhantomJS脚本里面,然后评估:

setTimeout(function() { 
    page.evaluate(function(){ 
     var b = $("#idresult").text(); 
     console.log("In windows timeout"+b); 
    }); 
}, 10000);