2015-05-15 1 views
1

Здесь я хочу знать, что веб-страница имеет AJAX-вызовы или нет. Потому что, если веб-страница основана на AJAX, я буду ждать несколько секунд, чтобы получить содержимое веб-страницы, иначе если веб-страница не основана на AJAX, тогда я не буду ждать.Как определить сайты, управляемые ajax

Я следил за приведенным ниже кодом, но я не получил никакого результата.

WebDriver driver = new PhantomJSDriver(caps); 
driver.get("http://www.airgas.com/category/Safety-Products-Clothing-WorkClothing-Acc/_/N-0Z84v"); 

JavascriptExecutor js = (JavascriptExecutor)driver; 
js.executeScript("$(document).ready(function() { 
    $(document).ajaxStart(function(event, request, settings) { 
     alert("Web Page have Ajax Calls"); 
    }); 
}); 
); 

Если я использую код JQuery, который я использовал в javascriptexecutor в консоли разработчика я получаю предупредительное сообщение о том, что веб-страница, AJAX звонки или нет. Так мой подход правильный? Если не то, что является правильным решением для моей проблемы.

+0

«Точно ли мой подход ...?» --- Работает ли это для вас? – zerkms

+0

Это ** [статья] (http://www.infoq.com/articles/testing-ajax-selenium) ** может помочь вам! –

+0

@zerkms. здесь код jquery работает, если я помещаю его в консоль разработчиков. , , Но я хочу получить такой же результат, используя вышеприведенный код. , Там я ввожу javascript в selenium webdriver. – prasad

ответ

0

Похоже, что вы ищете этот ответ: How do I know if jQuery has an Ajax request pending?

с твист вы должны дать ему первое время, чтобы выполнить и запустить запросы и только тогда, если все активные проверки. Если какие-либо активные, вы можете подождать до конца.

HTH

Смежные вопросы