8
我想獲取HTML頁面的源代碼,但它有一個JS腳本,可以動態加載數據並將接收的內容附加到頁面上。如何在等待JS加載內容後解析HTML頁面?
我使用jsoup解析HTML,但它只在JS執行前返回內容,所以我沒有收到動態加載的數據。
如何在腳本執行後使用任何框架,cli等獲取源代碼?
我想獲取HTML頁面的源代碼,但它有一個JS腳本,可以動態加載數據並將接收的內容附加到頁面上。如何在等待JS加載內容後解析HTML頁面?
我使用jsoup解析HTML,但它只在JS執行前返回內容,所以我沒有收到動態加載的數據。
如何在腳本執行後使用任何框架,cli等獲取源代碼?
您可以使用;
$(window).load();
將等待,直到頁面加載。
另一種選擇:
function whenAvailable(name, callback) {
var interval = 10; // ms
window.setTimeout(function() {
if (window[name]) {
callback(window[name]);
} else {
window.setTimeout(arguments.callee, interval);
}
}, interval);
}
而且使用這樣的:
whenAvailable("jsLoadFunction", function(t) {
// do something
});
類似的document.getElementById( 「elementid」)outerHTML項目之後被渲染。 – Bindrid
顯示這個JS腳本的樣子。 –
最好的辦法是通過Phantom運行它並使用Phantom的'page.content'。 – 2015-12-15 04:03:47