Добрый день! Я использую Java. После загрузки страницы продолжают выполняться AJAX запросы, хотя все элементы уже есть, только они заблокированы до окончания запросов. Как поставить ожидания на окончание запросов?
Пробовал вот такой метод (там ждет еще конец javascript):
private void waitForjQueryAndAjaxComplete() throws InterruptedException { JavascriptExecutor executer = (JavascriptExecutor) driver; Boolean jqueryDone = false, ajaxRunning = true; do { Thread.sleep(500); jqueryDone = (Boolean) executer.executeScript("return jQuery.active == 0"); ajaxRunning = ((Boolean) executer.executeScript("return Ext.Ajax.isLoading()")); } while (!jqueryDone && ajaxRunning); }
Но вот на строке
ajaxRunning = ((Boolean) executer.executeScript("return Ext.Ajax.isLoading()"));
валится с ошибкой:
org.openqa.selenium.WebDriverException: JavaScript error (WARNING: The server did not provide any stacktrace information)Command duration or timeout: 26 milliseconds Build info: version: '2.41.0', revision: '3192d8a', time: '2014-03-27 17:18:15' Driver info: org.openqa.selenium.ie.InternetExplorerDriver Capabilities [{browserAttachTimeout=0, enablePersistentHover=true, ie.forceCreateProcessApi=false, ie.usePerProcessProxy=false, ignoreZoomSetting=false, handlesAlerts=true, version=11, platform=WINDOWS, nativeEvents=true, ie.ensureCleanSession=false, elementScrollBehavior=0, ie.browserCommandLineSwitches=, requireWindowFocus=false, browserName=internet explorer, initialBrowserUrl=http://localhost:21254/, takesScreenshot=true, javascriptEnabled=true, ignoreProtectedModeSettings=false, enableElementCacheCleanup=true, cssSelectorsEnabled=true, unexpectedAlertBehaviour=dismiss}] Session ID: 15b9a9c3-1db0-44ac-a0ed-3dacc54a7c94