我使用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;但我对任何其他选择都开放了。
感谢您提出任何建议或替代方案。
答案 0 :(得分:0)
casperjs被证明与这样的网页不可靠。
基于Selenium的不同解决方案完美无缺。