Rac*_*los 4 java selenium network-programming selenium-chromedriver selenium-webdriver
我想捕获 Chromedriver 窗口中生成的网络流量。\n我发现可以使用 selenium 4.0 DevTools 实用程序来完成此操作,但我\xc2\xb4t 找不到如何操作或好的文档。
\nhttps://www.selenium.dev/selenium/docs/api/java/org/openqa/selenium/devtools/DevTools.html
\n有最简单的方法吗?谢谢
\n\n小智 5
使用 Selenium 4,您可以获得请求 URL 和响应 URL 等。
<dependency>
<groupId>org.seleniumhq.selenium</groupId>
<artifactId>selenium-java</artifactId>
<version>4.0.0</version>
</dependency>
<dependency>
<groupId>io.github.bonigarcia</groupId>
<artifactId>webdrivermanager</artifactId>
<version>4.3.1</version>
</dependency>
Run Code Online (Sandbox Code Playgroud)
使用此代码片段,您将获得所有请求和响应。
@BeforeEach
public void setUp() {
WebDriverManager.chromedriver().setup();
this.chromeDriver = new ChromeDriver();
devTools = chromeDriver.getDevTools();
devTools.createSession();
}
@Test
public void getRequestsAndResponseUrls() throws InterruptedException {
devTools.send(new Command<>("Network.enable", ImmutableMap.of()));
;
devTools.addListener(Network.responseReceived(), l -> {
System.out.print("Response URL: ");
System.out.println(l.getResponse().getUrl());
});
devTools.addListener(Network.requestWillBeSent(), l -> {
System.out.print("Request URL: ");
System.out.println(l.getRequest().getUrl());
});
chromeDriver.get("https://edition.cnn.com/");
// While Thread.sleep you you will see requests and responses appearing in console.
Thread.sleep(10000);
}
Run Code Online (Sandbox Code Playgroud)
享受。
| 归档时间: |
|
| 查看次数: |
14436 次 |
| 最近记录: |