phantomjs没有等待页面满载

时间:2015-04-10 22:32:39

标签: javascript phantomjs screenshot

尝试了Page.onLoadFinished和此功能。

但对于某些网站而言,它不会等到页面完全加载。有没有其他方法可以实现这个目标?

 function checkReadyState() {
    setTimeout(function () {
        var readyState = page.evaluate(function () {
            return document.readyState;
        });
enter code here
        if ("complete" === readyState) {
           //create screenshot
        } else {
            checkReadyState();
        }
    });
}
checkReadyState();

请帮忙。

1 个答案:

答案 0 :(得分:0)

当加载页面的整个dom时会触发onLoadFinished事件,但如果页面上的某些javascript动态加载更多资源或进行一些XHR调用,则必须观察DOM。

您可以查看写在phantomJS之上的CasperJS,并使用一些waitForSelector方法等待特定元素出现在dom或waitForResource中你想等待一个特定的外部资源。

您还可以查看显示如何使用普通PhantomJS实现此类功能的this answer