我正在少数未知的第三方网站上进行研究和开发,以使用selenium获取页面内容。
我应该如何知道网站是基于Ajax还是基于非Ajax。 我不知道使用id或tag名称检查未知网站内的任何数据,所以我应该如何检查它是否基于Ajax。
答案 0 :(得分:1)
如果我是你,我会设置代理并通过该路由路由所有WebDriver
流量。在代理中,对于每个请求,我将解析请求标头并查找标头
X-Requested-With = XMLHttpRequest
如果你有这个,你可以(相当自信地)说,你已经调用了Ajax
。可能会有一些你会错过的极端情况,但这应该可以帮到你。
无论如何,您需要考虑在页面加载时可能无法完成Ajax调用,可能需要用户交互才能触发这些调用。
您可以尝试使用WebDrivers getPageSource()
方法解决此问题,并将一些方法应用于输出,以查找$.get(
和$.post(
以及$.ajax(
等模式以及所有其他模式你可以提出来。
您可能还对this answer感兴趣设置代理。