私はphantom.jsを初めて使用し、Webサイトページをナビゲートして、phantom.jsのリンク(AJAX関数を呼び出してドキュメントのHTMLを変更する)をクリックしようとしています。
これが私のコードです:
window.setTimeout(function(){
phantom.exit();
}, 120000);
var page = require('webpage').create();
page.open("http://example.com", function(status) {
if (status !== 'success') {
console.log('{"error":"Unable to load the address for page"}');
phantom.exit();
}
var action = page.evaluate(function() {
document.getElementById("anID").click();
return "clicked";
});
var results = page.evaluate(function() {
return document.documentElement.innerHTML;
});
console.log(action);
window.setInterval(function() {
console.log(results);
phantom.exit();
}, 3000);
});
私の「アクション」関数のように、私は非常に混乱しています。click()呼び出しは、そのエラーを3回繰り返し発生させます。
TypeError:'undefined'は関数ではありません
phantomjs://webpage.evaluate():3 phantomjs://webpage.evaluate():1
ph.js:121 nullTypeError:'undefined'は関数ではありません
phantomjs://webpage.evaluate():3 phantomjs://webpage.evaluate():1
ph.js:121 nullTypeError:'undefined'は関数ではありません
phantomjs://webpage.evaluate():3 phantomjs://webpage.evaluate():1
ph.js:121 null
また、クリックを送信するときにその行にコメントを付けると、アクション関数はエラーを発生させなくなり、「クリックされた」コンソールログを適切に返します。でも3回...
私は何を間違っているのですか?
前もって感謝します。