私は Nightmare/PhantomJS を初めて使用し、特定のページのすべてのタグの簡単なインベントリを取得するのに苦労しています。PhantomJS をソースからビルドし、NodeJS、Nightmare などを手動でインストールした後、Ubuntu 14.04 で実行していますが、他の機能は期待どおりに動作しているようです。
私が使用しているコードは次のとおりです。
var Nightmare = require('nightmare');
new Nightmare()
.goto("http://www.google.com")
.wait()
.evaluate(function ()
{
var a = document.getElementsByTagName("*");
return(a);
},
function(i)
{
for (var index = 0; index < i.length; index++)
if (i[index])
console.log("Element " + index + ": " + i[index].nodeName);
})
.run(function(err, nightmare)
{
if (err)
console.log(err);
});
これを「実際の」ブラウザ内で実行すると、ページ上のすべてのタグ タイプ (HTML、HEAD、BODY など) のリストが表示されます。ノード GetTags.jsを使用してこれを実行すると、1 行の出力が得られます。
Element 0: HTML
私はそれが初心者の問題だと確信していますが、ここで何が間違っていますか?