访问AJAX中加载的HTML

访问AJAX中加载的HTML,ajax,casperjs,Ajax,Casperjs,我试图在一个应用程序上使用CasperJS,该应用程序在访问页面时只加载页面的框架。然后用AJAX加载主要内容 基本上,我的代码在加载到下面的div之后出现 <div class="content"></div> 在初始加载之后,CasperJS似乎无法访问这个div的内容。这太糟糕了,因为整个应用程序都在这个标签内(别怪我,怪那些使用主干网的开发人员) 经过广泛的搜索,我发现我可能可以使用evaluate函数执行document.body.innerHTM

我试图在一个应用程序上使用CasperJS,该应用程序在访问页面时只加载页面的框架。然后用AJAX加载主要内容

基本上,我的代码在加载到下面的div之后出现

    <div class="content"></div>

在初始加载之后,CasperJS似乎无法访问这个div的内容。这太糟糕了,因为整个应用程序都在这个标签内(别怪我,怪那些使用主干网的开发人员)

经过广泛的搜索,我发现我可能可以使用
evaluate
函数执行
document.body.innerHTML
来转储文档中请求的HTML内容,但它似乎不起作用


有什么想法吗?提前非常感谢。

您应该能够通过使用evaluate获得div内容,正如您所发现的那样。eval'd函数应返回所需的值

如果内容是通过AJAX加载的,那么还应该等到加载完毕。我建议使用这个:

var body_html;
this.waitForSelectorTextChange('div.content', function() {
   body_html = this.evaluate(function() {
       return document.body.innerHTML;
   });
});

希望这有帮助

非常感谢@gontrollez。我现在不能测试它,看看它是否有效,但我会检查并让你知道它是否有效。