如何检测ajax驱动的网站

时间:2015-05-15 06:54:29

标签: javascript jquery ajax selenium-webdriver phantomjs

在这里,我想知道网页是否有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");
    });
});
);

如果我在开发人员控制台中使用javascriptexecutor中使用的jQuery代码,我会收到警告消息,指出网页是否有AJAX调用。 我的方法是正确的吗?如果不是我的问题的正确解决方案。

1 个答案:

答案 0 :(得分:0)

看起来你正在寻找这个答案: How do I know if jQuery has an Ajax request pending?

有了扭曲,您需要先给它一些时间来执行并启动请求,然后检查是否有任何活动。 如果有任何活动,您可以等到完成。

HTH