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