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

时间:2015-05-15 12:37:42

标签: java javascript jquery selenium selenium-webdriver

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

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

1 个答案:

答案 0 :(得分:1)

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

X-Requested-With = XMLHttpRequest

Reference

如果你有这个,你可以(相当自信地)说,你已经调用了Ajax。可能会有一些你会错过的极端情况,但这应该可以帮到你。

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

您可以尝试使用WebDrivers getPageSource()方法解决此问题,并将一些方法应用于输出,以查找$.get($.post(以及$.ajax(等模式以及所有其他模式你可以提出来。

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