如何在selenium中获取请求/响应日志?我有一个返回登录信息的ajax调用,每当我尝试通过以下方式捕获它时:
selenium.captureNetworkTraffic("json");
Run Code Online (Sandbox Code Playgroud)
它只返回客户端项(如图像.pn),但不返回我感兴趣的实际JSON响应.
Geo*_*ker 11
不幸的是,看起来你不能单独用硒以自动方式做到这一点,因为这违背了他们对硒的设计原则.我不同意它(因为它支持获取cookie信息 - 用户实际经历了什么并通过他们的cookie解析?).
他们的'schtick'是selenium帮助您自动化用户所做的事情; 由于用户不关心响应头,为什么这个框架呢?对我来说,这是令人失望的,因为我需要确保返回的内容类型是我认为它应该是(测试API).似乎另一个Stack Overflow问题得出了类似的结论.
如果有人仍在寻找答案,有一种方法可以使用 Selenium 4 和 Chrome 开发人员工具 API 获取响应标头
DevTools devTools = driver.getDevTools();
devTools.createSession();
devTools.send(Network.enable(Optional.empty(), Optional.empty(), Optional.empty()));
devTools.addListener(Network.responseReceived(),
responseReceived -> {
Headers headers = responseReceived.getResponse().getHeaders();
if (!headers.isEmpty()){
System.out.println("Headers:");
headers.forEach((key,value) -> {
System.out.println(" " + key + "="+ value);
});
}
});
Run Code Online (Sandbox Code Playgroud)
这是使用 Selenium 4 alpha 6 测试的
| 归档时间: |
|
| 查看次数: |
14894 次 |
| 最近记录: |