java - org.openqa.selenium.remote.internal.ApacheHttpClient 在 Selenium 3.14.0 中已弃用 - 应该改用什么?
问题描述
我目前正在使用 Selenium 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());
解决方案
HTTP客户端切换到okhttp:http ://square.github.io/okhttp/
这在 3.11.0 版的 Selenium Java CHANGELOG 中有所提及,您也可以在源代码中看到它。
推荐阅读
- json - 在 JQ 中,如何有条件地将字符串值更改为数字?
- r - 在 DESeq2 中定义“条件”变量
- android - 为什么 Android Studio 在调试器中停止时会在约 5 秒后终止进程?
- nested - 在 Swift 4 中嵌套 URLSession.shared.dataTask
- firebase - 每次我设置状态时都会加载 Firebase 数据
- database - 使用 txt 文件中的显示名称获取 samaccountnames
- datetime - 在 Pandas 中将 INT 转换为 Datetime 对象
- algorithm - 2个for循环内递归调用的时间复杂度
- node.js - TypeScript:MongoDB 设置方法不存在
- python - Flask 网站未启动,即使使用从文档中复制的默认代码