jquery - Selenium 在 Internet Explorer 中的 wait_for_condition

标签 jquery ajax internet-explorer testing selenium

我试图让 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/

相关文章:

jquery - 如何指定DataTable中的列宽?

通过AJAX的ASP.net MVC AntiForgeryToken

javascript - 如何并排显示两个div,左侧div固定位置,右侧div垂直滚动

css - IE 中的 aviaslider 隐藏了 Super Suckerfish 下拉列表

javascript - jQuery event.which 在按下 Enter 键时返回 13

Javascript onblur 事件警报框不会消失

java - 无法将文件上传到 Jersey

internet-explorer - CSS3 关键帧动画在 Firefox 和 IE 中不起作用

css - 如何在 IE 加载时使媒体查询工作?

javascript - 是否可以在不重新加载的情况下运行注入(inject)的脚本?