尝试了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();
请帮忙。
答案 0 :(得分:0)
当加载页面的整个dom时会触发onLoadFinished事件,但如果页面上的某些javascript动态加载更多资源或进行一些XHR调用,则必须观察DOM。
您可以查看写在phantomJS之上的CasperJS,并使用一些waitForSelector
方法等待特定元素出现在dom或waitForResource
中你想等待一个特定的外部资源。
您还可以查看显示如何使用普通PhantomJS实现此类功能的this answer。