私はPhantomJSを使用して任意のURLからスクリーンショットを作成しています。スクリーンショットを撮る前に、PhantomJSがページの左上隅に間違ってレンダリングするので、ページDOMを操作してすべてのドロップダウンメニューを削除したい(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として機能します。
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コード内では機能しません。元のPhantomJSレンダリングのバグを解決したり、DOMのドロップダウンメニューを隠したりするのを助けてくれてありがとう。ありがとう。
リンクが無効です –