selenium web驱动程序中等待AJAX响应的Perl代码
我正在使用模块测试网页 有人能告诉我如何在这里等待ajax响应吗 对于jQuery:selenium web驱动程序中等待AJAX响应的Perl代码,ajax,perl,selenium,webdriver,Ajax,Perl,Selenium,Webdriver,我正在使用模块测试网页 有人能告诉我如何在这里等待ajax响应吗 对于jQuery: $driver->execute_script("return jQuery.active") 对于原型: $driver->execute_script("return ajax.activeRequestCount") 对于Dojo: $driver->execute_script("return dojo.io.XMLHTTPTransport.inFlight.length")
$driver->execute_script("return jQuery.active")
对于原型:
$driver->execute_script("return ajax.activeRequestCount")
对于Dojo:
$driver->execute_script("return dojo.io.XMLHTTPTransport.inFlight.length")
将返回一个整数,如果返回值等于0,则AJAX请求完成
$count = 0;
while ($count < 20) {
if ($driver->execute_script("return jQuery.active") == 0) {
last;
}
$count ++;
sleep(1);
}
我不懂perl,所以可能会有一些错误。此代码将等待20秒,等待ajax完成。解决方案
经过长时间的浏览,我得到了结果,但不是在ajax控件中
我在代码中做了一些逻辑工作,比如等待ajax元素出现在页面中,这解决了我的一些问题。以下是我提到的网址
这些链接不包含perl代码,但我可以通过模块中的方法来实现。LOL,waitForElementPresent的奇怪c代码,而不是等待ajax响应的perl代码。很好的问题和答案:你需要的是明确的等待。而且你的参考资料中包含糟糕的c代码。这个答案与这个问题完全无关。文章中给出的链接对我来说毫无线索。