我正在发送一个页面事件:
page.sendEvent('click', 650, 430);
单击通过ajax动态加载元素的链接。通过page.evaluate
访问此动态加载的元素是否为时已晚?我似乎无法在页面上动态创建的任何内容中返回任何内容。
答案 0 :(得分:0)
到目前为止,最简单的动态方法是捕获控制台消息,如此处所述http://code.google.com/p/phantomjs/wiki/Interface#Callbacks
page.onConsoleMessage = function(msg) {
console.log(msg);
};
如果你想发送一些二进制数据,那么我建议通过在网页中注入自定义脚本来使用某种管道。
答案 1 :(得分:0)
为什么不使用window.setTimeout
并使用page.render拍摄快照?所以你的代码将改为:
window.setTimeout(function() {
page.sendEvent('click', 650, 430);
}, 5000);
window.setTimeout(function() {
page.render('foo.png');
});
超时会给ajax调用一个完成的机会。渲染将让你看到在完成ajax调用时页面应该是什么样的。