2017-08-09 125 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);