我正在发送一个页面事件:
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);
};
如果您想发送一些二进制数据,那么我建议您通过将自定义脚本注入网页来使用某种管道。
为什么不window.setTimeout
使用 page.render 并拍摄快照?因此,您的代码将更改为:
window.setTimeout(function() {
page.sendEvent('click', 650, 430);
}, 5000);
window.setTimeout(function() {
page.render('foo.png');
});
超时将使 ajax 调用有机会完成。当 ajax 调用完成时,渲染将让您看到页面应该是什么样子。