如何使用 Selenium 4 (devTools) 从网络选项卡获取响应正文

skv*_*skv 5 selenium devtools google-chrome-devtools selenium4

我正在使用 selenium 4 中的 devTools 来检索网络选项卡的响应。

当我获取 url、响应代码、标头等时,

我找不到检索实际响应正文的方法。(我的目的是验证响应中的键值对。)

任何帮助深表感谢。

下面是我的代码的片段。

   devTools.addListener(Network.responseReceived(),
            response -> {
                Response res= response.getResponse();
                System.out.println("URL - " + res.getUrl());
                System.out.println("Status - " + res.getStatus());
                System.out.println("Headers - " + res.getHeaders());
                System.out.println("Header text - " + res.getHeadersText());
            });
Run Code Online (Sandbox Code Playgroud)

小智 3

            devTools = ((ChromeDriver) driver).getDevTools();
            devTools.createSession();
            devTools.send(Network.clearBrowserCache());
            devTools.send(Network.setCacheDisabled(true));

            final RequestId[] requestIds = new RequestId[1];
            devTools.send(Network.enable(Optional.empty(), Optional.empty(), Optional.of(100000000)));
            devTools.addListener(Network.responseReceived(), responseReceived -> {
                

                requestIds[0] = responseReceived.getRequestId();
                String url = responseReceived.getResponse().getUrl();

                int status = responseReceived.getResponse().getStatus();
                String type = responseReceived.getType().toJson();
                String headers = responseReceived.getResponse().getHeaders().toString();

                String  responseBody = devTools.send(Network.getResponseBody(requestIds[0])).getBody();
Run Code Online (Sandbox Code Playgroud)