casperjs捕获" loading.gif"在ajax电话

时间:2015-12-05 14:28:55

标签: casperjs

我使用casperjs 1.1(幻影1.9.8)登录网站。

登录后,有旋转的悸动,我有:

<div id=throbber style='display: block'></div>
<div id=main style='display: none'></div>

一些动态内容加载在主div中,因此加载后:

<div id=throbber style='display: none'></div>
<div id=main style='display: block'>some content</div>

我试图获取已加载内容的屏幕截图,因为我需要执行点击和操作,但我总是得到悸动的图片。我试着等待30秒,等待文件,等待文件.getElementById(&#39; throbber&#39;)。style.display ==&#39; none&#39;但没有运气......

我使用alwex / php-casperjs包装(带有一些手工添加),所以我的最后一次尝试看起来像这样:

$casper->click('button[type="submit"]');
$casper->waitFor("document.getElementById('throbber').style.display == 'none'"); //implicit 5000 timeout
$casper->capture($screenshot_large, time().'.png');

此特定尝试返回&#34;&#39; null&#39;不是一个对象(评估&#39; document.getElementById(&#39; throbber&#39;)。风格&#39;)&#34;但我对任何其他选择都开放了。

感谢您提出任何建议或替代方案。

1 个答案:

答案 0 :(得分:0)

casperjs被证明与这样的网页不可靠。

基于Selenium的不同解决方案完美无缺。