0
ウェブサイトの完全なDOMを読み込み、後で各要素を処理したいと思います。サンプルコード/テストケースは、ウェブサイトのすべてのタグを記録します。PhantomJSでDOM要素を処理する
これは、通常のブラウザ内で完璧に動作します:
var dom = document.getElementsByTagName('*'),
i;
for (i in dom)
{
console.log(dom[i] && dom[i].tagName ? dom[i].tagName : 'invalid');
}
このテストケースのログ:
HTML
BODY
DIV
...etc...
これはPHANTOMJS内では動作しません:
var page = require('webpage').create();
page.open('https://google.com', function()
{
var dom = page.evaluate(function()
{
return document.getElementsByTagName('*');
}),
i;
for (i in dom)
{
console.log(dom[i] && dom[i].tagName ? dom[i].tagName : 'invalid');
}
phantom.exit();
});
を何らかの理由で、のみ最初のオブジェクトには値が含まれています。したがって、このテストケースはログに記録されます:
HTML
invalid
invalid
...
ヘルプが必要です!ドキュメントからあなた