Cómo verificar si hay solicitudes pendientes (Ajax y sus variantes) del navegador

Algunos de los sitios con los que trato tienen grandes solicitudes de ajax. Planeo esperar la finalización de la solicitud de Ajax antes de hacer clic para afirmar el elemento. Actualmente uso

try {
    if (driver instanceof JavascriptExecutor) {
        JavascriptExecutor jsDriver = (JavascriptExecutor)driver;

        for (int i = 0; i< timeoutInSeconds; i++) 
        {
            Object numberOfAjaxConnections = jsDriver.executeScript("return jQuery.active");
            // return should be a number
            if (numberOfAjaxConnections instanceof Long) {
                Long n = (Long)numberOfAjaxConnections;
                System.out.println("Number of active jquery ajax calls: " + n);
                if (n.longValue() == 0L)  break;
            }
            Thread.sleep(1000);
        }
    }
    else {
       System.out.println("Web driver: " + driver + " cannot execute javascript");
    }
}
catch (InterruptedException e) {
    System.out.println(e);
}

Pero funciona bien para solicitudes Ajax pero no para solicitudes similares con variantes de bibliotecas jQuery.

Nota:

document.readyState == 'complete'

No funciona para solicitudes de Ajax o cualquier otra alternativa similar.

Ni las pruebas son escritas por mí ni pertenecen a una sola aplicación web. Entonces no puedo editar la aplicación web.

Respuestas a la pregunta(0)

Su respuesta a la pregunta