2012-06-12 54 views
0

動態加載元素我送一個頁面事件:訪問在phantomjs

page.sendEvent('click', 650, 430);

此點擊該動態加載了AJAX元素的鏈接。通過page.evaluate訪問這個動態加載的元素是否太晚了?我似乎無法返回頁面上動態創建的任何內容。

回答

0

到目前爲止最簡單的動態的方式是捕獲控制檯消息,喜歡這裏http://code.google.com/p/phantomjs/wiki/Interface#Callbacks

page.onConsoleMessage = function(msg) { 
    console.log(msg); 
}; 

描述如果你想發送一些二進制數據,那麼我會建議通過注射使用某種管道定製腳本進入網頁。

0

爲什麼不使用window.setTimeout並使用page.render拍攝快照?因此,您的代碼將更改爲:

window.setTimeout(function() { 
    page.sendEvent('click', 650, 430); 
}, 5000); 
window.setTimeout(function() { 
    page.render('foo.png'); 
}); 

超時將使ajax調用有機會完成。渲染器可以讓你看到頁面在ajax調用完成時的樣子。