我使用PhantomJS從任意URL創建屏幕截圖。截圖之前,我想操縱頁面DOM去除所有下拉菜單,因爲PhantomJS在頁面的左上角錯誤地呈現它們(一個已知的Phantom issue。)使用PhantomJS進行DOM操作
我有一個簡單的DOM腳本以做到這一點:
var selects = document.getElementsByTagName('select');
for (var i=0; i < selects.length; i++) {
document.getElementsByTagName('select')[i].style.visibility="hidden";
}
這已經過測試和獨立的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);
}
});
有些仍用錯地方了一個選擇框渲染。我很感謝幫助解決原始的PhantomJS渲染錯誤或隱藏DOM中的下拉菜單。謝謝。
鏈接已死 –