我目前正在将PhantomJS用于一些文档的报告,并在一些示例中发现了这一点。
window.setTimeout(function () {
page.render(output);
console.log(output);
phantom.exit();
}, 200);
我不知道为什么要使用window.setTimeout?它会影响网页渲染吗?
谢谢...尼克。
仅在加载页面时才调用page.open回调。这并不意味着所有内容都已加载到您的页面中,并且js已完全执行。
此外,网页上的js可能不会立即执行,特别是如果该网站使用MVC客户端框架(例如AngularJS或Ember.js):在页面加载事件之后会做很多事情。
使用setTimeout会给您带来一点延迟,以确保页面已完全呈现。
有时200毫秒是不够的,您必须增加持续时间。
另一种方法是使用waitfor.js示例:等待直到测试条件为真(例如元素可见)。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句