2013-03-01 23 views
2

我正在嘗試構建一個webscraper,在點擊接收到來自ajax調用的信息後,可以使用該webscraper下載HTML源代碼。 簡單地說,我最初下載一個網頁,然後點擊下一個按鈕時,使用ajax調用來加載一組新的圖像,然後點擊下一步後需要捕獲html源。使用phantomjs加載javascript/ajax調用點擊

下點擊來源看起來是這樣的

<a href="javascript:void(0);" onclick="return nextpage('xyz.html','2');" class="nextimage">Next Page</a> 

而且在同一頁上的JavaScript函數下一頁它處理Ajax調用。

有沒有辦法使用phantomjs來做到這一點?我對phantomjs非常陌生,所以如果有任何不清楚的地方,請告訴我。 目前我只能從原始網頁加載內容。

var page = require('webpage').create(); 
page.open('somewebpage', function (status) { 
    if (status !== 'success') { 
     console.log('Unable to access network'); 
    } else { 
     var p = page.evaluate(function() { 
      return document.getElementsByTagName('html')[0].innerHTML 
     }); 
     console.log(p); 
    } 
    phantom.exit(); 
}); 

由於

+0

你解決了這個問題嗎? – quetzalfir 2018-01-30 01:30:12

回答

0

嘗試:

變種含量= page.evaluate(函數(){。返回
(新的XMLSerializer())serializeToString(文件);});

+0

感謝您的回覆,我是否將此代碼片段添加到問題中給出的代碼? – 2013-03-20 04:59:57