var page = require('webpage').create();
page.open('http://xyz.ww', function() {
page.includeJs("http://ajax.googleapis.com/ajax/libs/jquery/1.6.1/jquery.min.js", function() {
var ua = page.evaluate(function() {
$("span.disabled[name=comments]").click();
return $(".content-right").html();
});
console.log(ua);
phantom.exit()
});
});
正如您所看到的,我尝试单击网页中的某个范围,该范围会触发Ajax调用并更改“.content-right”div的内容。但是当我写$(“。content-right”)。html()时,它会再次返回初始内容,就好像没有进行Ajax调用一样。我错过了什么吗?
提前致谢。
答案 0 :(得分:0)
Ajax需要一些时间,但您会立即检查是否更新了右列。您应该等待点击后加载评论。
var page = require('webpage').create();
page.open('http://xyz.ww', function() {
page.includeJs("http://ajax.googleapis.com/ajax/libs/jquery/1.6.1/jquery.min.js", function() {
page.evaluate(function() {
$("span.disabled[name=comments]").click();
});
// Let's wait 3 seconds
setTimeout(function(){
var ua = page.evaluate(function() {
$("span.disabled[name=comments]").click();
return $(".content-right").html();
});
console.log(ua);
phantom.exit()
}, 3000);
});
});