我试图让 Selenium 等待页面上的所有 AJAX 请求完成,然后再继续执行下一个命令。我正在使用 wait_for_condition
和以下 JavaScript:
function(){
var wait = function() { return jQuery.active == 0; }
return wait.call(selenium.browserbot.getCurrentWindow());
}();
这在 Firefox 中运行良好,但在 IE 中因超时而失败。
有谁知道为什么会这样或有其他方法来等待 AJAX 请求完成?
最佳答案
如何使用这个简化版本:
selenium.browserbot.getCurrentWindow().jQuery.active == 0;
听起来很蠢,但大多数 IE 问题都是这样解决的...
如果这不起作用,您可以分析另一种选择: http://www.markhneedham.com/blog/2009/05/14/selenium-waiting-for-jquery-ajax-calls/ 但我会把它作为最后的计划来生活,因为修改 jquery 以保持 ajax 调用的计数器现在听起来有点矫枉过正......
关于jquery - Selenium 在 Internet Explorer 中的 wait_for_condition,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1297370/