我正在使用Phantomjs检查我的应用程序。我正在查看的页面包含许多组件,并由Angularjs提供支持。我的测试服务器运行缓慢。在这种情况onLoadFinished
下,我正在使用渲染对网页进行成像:
page.onLoadFinished = function(response) {
console.log(response, page.url);
if (page.url.indexOf("login") == -1) {
page.render('zoot.png');
phantom.exit();
}
};
我的问题是zoot.png
仅包括网站的菜单栏。呈现菜单栏的文本和静态图像,但图标为Xs。主页区域为空白。文本的版本号将出现在预期的右下方。
render
发生这种情况时,页面似乎没有完全绘制。是否还有另一个事件表示“已完成并可以使用”?
您可能会在这里找到一种方法,可以在角度完成渲染后注册事件,但是如果您愿意等待一段固定的时间,则可能没有必要:
page.onLoadFinished = function(response) {
console.log(response, page.url);
if (page.url.indexOf("login") == -1) {
setTimeout(function(){
page.render('zoot.png');
phantom.exit();
}, 1000);
}
};
您还可以使用waitFor
显式等待选择器的出现,该选择器表示加载结束。
请注意,page.open(url);
和和page.onLoadFinished = finishedFunction;
相同page.open(url, finishedFunction)
。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句