如何等待除 "jQuery.active ==0" 之外的所有 ajax 请求完成?

How to wait all ajax requests finished except "jQuery.active ==0"?

事实上,我正在使用 webdriver,我想让它等待 ajax 完成。 以下是我从搜索网站得到的代码:

public static void waitAjaxDone(WebDriver dr) {
    WebDriverWait wait = new WebDriverWait(dr, 60);
    wait.until(new ExpectedCondition<Object>() {
        @Nullable
        @Override
        public Object apply(@Nullable WebDriver webDriver) {
            return ((JavascriptExecutor)webDriver).executeScript("return jQuery.active==0");
        }
    });

}

我们可以看到关键代码是“jQuery.active”,这可能会得到 运行 ajax 请求计数,但它现在对我有用,我的网站没有使用 jQuery 但其他 js 库。

还有其他方法可以得到 运行 ajax 的计数吗? 或者在纯 javascript 中是否有与“jQuery.active”匹配的方法?

其实ajax请求是否完成真的很难知道,我们可以直接发送ajax请求得到响应,然后进行下一步