如果站点使用Ajax,如何检查Selenium WebDriver?

use*_*819 5 javascript java jquery selenium selenium-webdriver

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

我应该如何知道网站是基于Ajax还是基于非Ajax.我不知道使用id或标签名称检查未知网站内的任何数据,所以我应该如何检查它是否基于Ajax.

Erk*_* M. 1

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

X-Requested-With = XMLHttpRequest
Run Code Online (Sandbox Code Playgroud)

参考

如果你有这个,你可以(相当有信心)说你已经Ajax调用了。您可能会错过一些极端情况,但这应该可以帮助您解决大部分情况。

无论如何,您需要考虑 Ajax 调用可能不会在页面加载时完成,它可能需要用户交互来触发这些调用。

您可以尝试使用WebDriversgetPageSource()方法来解决这个问题,并对输出应用某种方法,查找诸如$.get(and$.post(和等模式$.ajax(以及您可以想到的所有其他模式。

您可能还对有关设置代理的答案感兴趣。