Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/selenium/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jquery 硒';让我们在Internet Explorer中等待条件_Jquery_Ajax_Internet Explorer_Testing_Selenium - Fatal编程技术网

Jquery 硒';让我们在Internet Explorer中等待条件

Jquery 硒';让我们在Internet Explorer中等待条件,jquery,ajax,internet-explorer,testing,selenium,Jquery,Ajax,Internet Explorer,Testing,Selenium,我试图让Selenium在继续执行下一个命令之前,等待页面上的所有AJAX请求完成。我正在使用等待条件和以下JavaScript: function(){ var wait = function() { return jQuery.active == 0; } return wait.call(selenium.browserbot.getCurrentWindow()); }(); 这在Firefox中工作正常,但在IE中超时失败 有人知道为什么会这样,或者有其他方法等待AJAX请求

我试图让Selenium在继续执行下一个命令之前,等待页面上的所有AJAX请求完成。我正在使用
等待条件
和以下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问题都是通过这种方式解决的

如果这不起作用,您可以分析其他备选方案:
但我会把它当作最后一个计划,因为现在修改jquery以保留ajax调用计数器听起来有点过头了…

我在许多博客文章中都找到了这个建议,但奇怪的是,没有人告诉我这个“selenium.browserbot.getCurrentWindow().jquery.active==0;”应该去哪里。如果我把它放在IDE中的“waitForCondition”参数中,它就不起作用了。我猜它应该进入user-extensions.js,但不能作为匿名函数。我试着把这个放在那个文件里:

function wait_for_ajax(timeout){
  return selenium.browserbot.getCurrentWindow().jQuery.active == 0;
};
但这似乎是不可行的(以下测试仍然失败)