ページイベントを送信しています:
page.sendEvent('click', 650, 430);
これにより、ajaxを介して要素を動的にロードするリンクをクリックします。この動的にロードされた要素に経由でアクセスするには遅すぎますpage.evaluate
か?ページ上で動的に作成されたものでは、何も返すことができないようです。
ページイベントを送信しています:
page.sendEvent('click', 650, 430);
これにより、ajaxを介して要素を動的にロードするリンクをクリックします。この動的にロードされた要素に経由でアクセスするには遅すぎますpage.evaluate
か?ページ上で動的に作成されたものでは、何も返すことができないようです。
これまでのところ、最も簡単で動的な方法は、ここで説明されているように、コンソールメッセージをキャッチすることですhttp://code.google.com/p/phantomjs/wiki/Interface#Callbacks
page.onConsoleMessage = function(msg) {
console.log(msg);
};
バイナリデータを送信したい場合は、カスタムスクリプトをWebページに挿入することで何らかのパイプを使用することをお勧めします。
window.setTimeout
page.renderを使用してスナップショットを作成してみませんか?したがって、コードは次のように変更されます。
window.setTimeout(function() {
page.sendEvent('click', 650, 430);
}, 5000);
window.setTimeout(function() {
page.render('foo.png');
});
タイムアウトすると、ajax呼び出しが完了する機会が与えられます。レンダリングにより、ajax呼び出しが実行されたときにページがどのように表示されるかを確認できます。