我正在使用PhantomJS从任意URL创建屏幕截图.在截屏之前,我想操作页面DOM以删除所有下拉菜单,因为PhantomJS在页面的左上角错误地呈现它们(已知的幻影问题).
我有一个简单的DOM脚本来执行此操作:
var selects = document.getElementsByTagName('select');
for (var i=0; i < selects.length; i++) {
document.getElementsByTagName('select')[i].style.visibility="hidden";
}
Run Code Online (Sandbox Code Playgroud)
这已经过测试,可以作为独立的Javascript使用.然而,它不能用于我用于收集屏幕截图的PhantomJS代码(最后显示的部分):
page.open(address, function (status) {
if (status !== 'success') {
console.log('Unable to load the address!');
} else {
window.setTimeout(function () {
var selects = document.getElementsByTagName('select');
for (var i=0; i < selects.length; i++) {
document.getElementsByTagName('select')[i].style.visibility="hidden";
}
page.render(output);
phantom.exit();
}, 200);
}
});
Run Code Online (Sandbox Code Playgroud)
某些页面仍在使用选择框在错误的位置进行渲染.我很感激帮助解决原始的PhantomJS渲染错误或隐藏DOM中的下拉菜单.谢谢.
| 归档时间: |
|
| 查看次数: |
15738 次 |
| 最近记录: |