automation - Selenium 4 Devtools - 无法映射结果和未知驱动程序和无法使私有 java.lang.Void() 可访问
问题描述
我想在 selenium 4 中使用 devtools。虽然它一直有关于地图错误的错误:
WARNING: Unable to map result for Target.setAutoAttach
java.lang.reflect.InaccessibleObjectException: Unable to make private java.lang.Void() accessible: module java.base does not "opens java.lang" to unnamed module @6b2fad11
WARNING: Unable to map result for Log.clear
WARNING: Unable to process: {"id":3,"result":{},"sessionId":"mySessionID here"}
org.openqa.selenium.json.JsonException: Expected to read a NAME but instead have: START_MAP. Last 17 characters read: {"id":3,"result":
Build info: version: '4.0.0-beta-4', revision: '29f46d02dd'
System info: host: 'myHost here', ip: 'my IP here', os.name: 'Windows 10', os.arch: 'amd64', os.version: '10.0', java.version: '16.0.1'
**Driver info: driver.version: unknown**
我在用:
- 智能
- 铬 90
- 铬驱动程序 90
- 硒 4.0.0-beta-4
- 番石榴 30.1.1
- 爪哇 16
我的依赖:
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
<version>1.7.30</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.seleniumhq.selenium</groupId>
<artifactId>selenium-java</artifactId>
<version>4.0.0-beta-4</version>
</dependency>
<dependency>
<groupId>com.google.guava</groupId>
<artifactId>guava</artifactId>
<version>30.1.1-jre</version>
</dependency>
我不确定为什么会发生地图错误并且我的驱动程序信息未知。有人有什么想法吗?谢谢!
我的代码:
public class TestOne {
public TestOne() throws IOException {
}
public static void main(String[] args) throws IOException, AWTException {
System.setProperty("webdriver.chrome.driver", "C:/Users/myUserName/Desktop/Documents/Webdriver/chromedriver.exe");
ChromeDriver driver = new ChromeDriver();
DevTools devTools = driver.getDevTools();
driver.get("http://www.google.com");
driver.getDevTools().createSession();
enableNetworkOffline(devTools,driver);
}
public static void enableNetworkOffline(DevTools devTools, ChromeDriver driver) {
devTools.send(Network.enable(Optional.of(100000000), Optional.empty(), Optional.empty()));
devTools.addListener(loadingFailed(), loadingFailed -> assertEquals(loadingFailed.getErrorText(), "testing"));
driver.get("http://www.yahoo.com");
}
}
解决方案
推荐阅读
- pandas - 从熊猫列中的单元格中提取小时和分钟
- lua - 小数不适用于roblox lua中的阶乘
- python - @user_passes_test 没有按预期工作 - Django Python
- python - 将列表列表转换为元组的元组
- android - 如何在 FirebaseRecyclerAdapter 上获取用户 ID 的价值?
- node.js - 使用 NodeJs 的 SQL 过程
- firebase - Nuxt 服务器中间件在 Firebase Cloud Functions 上不起作用
- javascript - 如何将此代码从 jQuery 转换为 Vanilla Javascipt?
- javascript - 如何使用数组值评估“全有或全无条件”
- postgresql - PostgreSQL 字段类型,用于存储字符串、int 或 json