0

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>
Sneh Tripathi
  • 430
  • 4
  • 14

1 Answers1

0

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());
                    });
Zakaria Shahed
  • 2,589
  • 6
  • 23
  • 52