我当前正在使用硒3.14.0库,其中不建议使用 org.openqa.selenium.remote.internal.ApacheHttpClient 。有谁知道应该改用哪个? 该类已在下一版本3.141.59中删除。
我将其与EdgeDriver服务一起使用,如下所示:
final int connectionTimeout = 2 * 60 * 1000;
final int socketTimeout = 10 * 60 * 1000; // 10 minute timeout
final ApacheHttpClient.Factory clientFactory = new ApacheHttpClient.Factory(
new HttpClientFactory(connectionTimeout, socketTimeout));
...
edgeDriverService = new EdgeDriverService.Builder()
.usingDriverExecutable(edgeDriver)
.usingAnyFreePort()
.build();
edgeDriverService.start();
HttpCommandExecutor executor = new HttpCommandExecutor(new HashMap<>(), edgeDriverService.getUrl(), clientFactory);
WebDriver driver = new RemoteWebDriver(executor, new EdgeOptions());
答案 0 :(得分:10)
http客户端已切换为okhttp:http://square.github.io/okhttp/
在版本3.11.0的Selenium Java CHANGELOG中提到了这一点,您也可以在源代码中看到它。
答案 1 :(得分:-2)
一些事实:
HttpClient
实现细节不属于HttpCommandExecutor
。OkHttp
而不是 Apache HttpClient
。Apache HttpClient
从selenium-server-standalone
中被彻底删除,
减少了硒服务器分发软件包的大小。apache-backed httpclient
也已删除。