使用 Selenium 捕获网络 XHR 日志(带参数的请求/响应)

Sur*_*rma 6 javascript java selenium selenium-webdriver rest-assured-jsonpath

我尝试使用 Selenium webdriver 捕获通常显示 Request(MethodType, Headers, parameters) 和 Response 的 Network XHR 日志(chrome 浏览器),但我只能获取客户端发送到服务器的 api 请求(不带参数),而在搜索时我发现下面的代码,它只提供我 apis 请求:-

LogEntries logEntries = driver.manage().logs().get(LogType.BROWSER);
          for (LogEntry entry : logEntries) {
            System.out.println(new Date(entry.getTimestamp()) + " " + entry.getLevel() + " " + entry.getMessage())
}
Run Code Online (Sandbox Code Playgroud)

但我还想获得客户端(浏览器)发送到服务器的所有参数以及响应。*相同的功能如何适用于 Firefox。

提前致谢!!

Mos*_*ini 0

如果您使用像 Axios 这样的库来进行 XHR 调用,您可以利用请求拦截器响应拦截器作为中间件来拦截并最终记录每个 XHR 调用及其响应,而无需依赖无头浏览器接口。

请求示例

client.interceptors.request.use(
  req => {
     // req contains your request data 
  },
  err => Promise.reject(err),
);
Run Code Online (Sandbox Code Playgroud)

响应示例

client.interceptors.response.use(
  response => response, // XHR Response
  error => {
    const originalRequest = error.config; // Error.config contains too the original request
    // ...code
  })
Run Code Online (Sandbox Code Playgroud)