Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/350.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何使用SeleniumWebDriver检查站点是否使用Ajax?_Java_Javascript_Jquery_Selenium_Selenium Webdriver - Fatal编程技术网

Java 如何使用SeleniumWebDriver检查站点是否使用Ajax?

Java 如何使用SeleniumWebDriver检查站点是否使用Ajax?,java,javascript,jquery,selenium,selenium-webdriver,Java,Javascript,Jquery,Selenium,Selenium Webdriver,我正在少数未知的第三方网站上进行研究和开发,以使用selenium获取页面内容 我应该如何知道这个网站是基于Ajax的还是非基于Ajax的。 我不知道未知网站中的任何数据可以通过id或标记名进行检查,所以我应该如何检查它是否基于Ajax。如果我是你,我会设置一个代理,并将所有WebDriver流量通过该代理进行路由。在代理中,对于每个请求,我将解析请求头并查找头 X-Requested-With = XMLHttpRequest 如果你有,你可以(相当自信地)说,你调用了Ajax。也许你会错

我正在少数未知的第三方网站上进行研究和开发,以使用selenium获取页面内容

我应该如何知道这个网站是基于Ajax的还是非基于Ajax的。
我不知道未知网站中的任何数据可以通过id或标记名进行检查,所以我应该如何检查它是否基于Ajax。

如果我是你,我会设置一个代理,并将所有
WebDriver
流量通过该代理进行路由。在代理中,对于每个请求,我将解析请求头并查找头

X-Requested-With = XMLHttpRequest

如果你有,你可以(相当自信地)说,你调用了
Ajax
。也许你会错过一些角落的案例,但这会让你得到其中的大部分

无论如何,您需要考虑Ajax调用不能在页面加载上完成,它可能需要用户交互来触发这些调用。 您可以尝试使用method来解决这个问题,并将一些方法应用到输出中,以查找模式,例如

$.get(
$.post(
$.ajax(
)以及您可以找到的所有其他模式


您可能还对设置代理感兴趣。

请阅读并提供有关您尝试过的内容和没有成功的内容的更多信息。实际上,这是一个有趣的问题。如果存在一些Ajax调用,或者它是一个简单的页面应用程序,那么“基于Ajax”到底是什么意思?例如(Angular JS)问题是使用Ajax有很多方法。这是我的主要障碍。没有一个模式…这不是一个问题,我会考虑你至少阅读了第一个Wiki。对于第一个,你不应该担心。当JavaScript未启用时,网站被写得优雅地回落,因此Ajax不起作用。对于第二个问题,我认为您可以设置一个代理来路由所有流量。然后分析所有已完成的请求。如果单击一个应生成页面的元素导致一个未生成完整html页面的请求(
),那么这是一个ajax请求。