【问题标题】:Selenium 4 CDP Java 8 Network Request and ResponseSelenium 4 CDP Java 8 Network Request and Response
【发布时间】:2022-11-09 13:31:33
【问题描述】:

I am trying to capture network request ands response in Chrome browser using selenium 4 and CDP dev tools for a website but getting following errors:

The method enable(Optional.absent(), Optional.absent(), Optional.absent()) is undefined for the type Network

The method requestWillBeSent() is undefined for the type Network

   ChromeDriver driver = new ChromeDriver();
    driver.manage().window().maximize();

    chromeDevTools = ((HasDevTools) driver).getDevTools();
    chromeDevTools.createSession();
    chromeDevTools.send(Network.enable(
                    Optional.absent(),
                 Optional.absent(),
                     Optional.absent()));

    chromeDevTools.addListener(Network.requestWillBeSent(),
            request ->{
                System.out.println("Request URL:"+request.getRequest().getUrl());
                System.out.println("Request Method:"+request.getRequest().getMethod());
            });

pom.xml

         <dependency>
                <groupId>org.seleniumhq.selenium</groupId>
                <artifactId>selenium-chrome-driver</artifactId>
                <version>4.4.0</version>
         </dependency>
         <dependency>
              <groupId>org.seleniumhq.selenium</groupId>
              <artifactId>selenium-devtools-v104</artifactId>
               <version>4.4.0</version>
         </dependency>

    标签: selenium4


    【解决方案1】:

    I hope its too late and your issue already resolved. Posting the solution in case some other people face same issue. You need to pass Optional.empty() instead of Optional.absent()

    WebDriverManager.chromedriver().setup();
    ChromeDriver driver = new ChromeDriver();
    driver.get("https://www.google.com");
    DevTools devTools = driver.getDevTools();
    devTools.createSession();
    devTools.send(Network.enable(Optional.empty(),Optional.empty(),Optional.empty()));
    devTools.addListener(Network.requestWillBeSent(),
                        request ->{
                            System.out.println("Request URL:"+request.getRequest().getUrl());
                            System.out.println("Request Method:"+request.getRequest().getMethod());
                            System.out.println("Request Method:"+request.getRequest().getHeaders().toJson());
                        });
    
      猜你喜欢
      • 2022-11-01
      • 1970-01-01
      • 2022-12-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-07-07
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多