如何在等待JS加载内容后解析HTML页面?

Fil*_*cao 9 html javascript parsing

我想获取HTML页面的源代码,但它有一个JS脚本,可以动态加载数据并将接收到的内容附加到页面.

我使用jsoup来解析HTML,但它只在JS执行之前返回内容,所以我没有收到动态加载的数据.

如何在脚本执行后使用任何框架,cli等获取源代码?

小智 0

您可以使用;

$(window).load();
Run Code Online (Sandbox Code Playgroud)

它将等待页面加载。

另外一个选择:

function whenAvailable(name, callback) {
var interval = 10; // ms
window.setTimeout(function() {
    if (window[name]) {
        callback(window[name]);
    } else {
        window.setTimeout(arguments.callee, interval);
    }
}, interval);
}
Run Code Online (Sandbox Code Playgroud)

并像这样使用它:

whenAvailable("jsLoadFunction", function(t) {
// do something
});
Run Code Online (Sandbox Code Playgroud)