java.lang.IllegalAccessError:尝试访问方法com.google.common.util.concurrent.SimpleTimeLimiter.使用Selenium-Java 3.5.1或更高版本时 [英] java.lang.IllegalAccessError: tried to access method com.google.common.util.concurrent.SimpleTimeLimiter. when using Selenium-Java 3.5.1 or above
问题描述
我想知道是否有人可以告诉我为什么我在使用Selenium-Java 3.5.1或更高版本时出现以下错误-
I am wondering if anyone can give me an idea why I'm getting the following error when I use Selenium-Java 3.5.1 or above -
java.lang.IllegalAccessError: tried to access method com.google.common.util.concurrent.SimpleTimeLimiter.<init>(Ljava/util/concurrent/ExecutorService;)V from class org.openqa.selenium.net.UrlChecker
推荐答案
此错误消息...
java.lang.IllegalAccessError: tried to access method com.google.common.util.concurrent.SimpleTimeLimiter.<init>(Ljava/util/concurrent/ExecutorService;)V from class org.openqa.selenium.net.UrlChecker
...表示 WebDriver 变体的版本(即 GeckoDriver / ChromeDriver )与版本不匹配您正在使用的相应 WebBrowser 变体(即 Firefox / Chrome ).
...implies that there was a mismatch between the version of the WebDriver variant (i.e. GeckoDriver / ChromeDriver) and the version of the respective WebBrowser variant (i.e. Firefox / Chrome) you are using.
注意:您需要确保使用的是最新的 JDK 版本.
Note: You need to ensure that you are using the latest JDK versions.
GeckoDriver-Selenium-Firefox
如果使用的是 GeckoDriver -硒- Firefox 组合,则需要遵循以下兼容性图表:
GeckoDriver-Selenium-Firefox
If you are using GeckoDriver-Selenium-Firefox combo, you need to follow the following compatibility chart:
如果您使用的是 ChromeDriver - Chrome 组合,则需要确保二进制文件与以下条目兼容:
If you are using ChromeDriver-Chrome combo, you need to ensure that the binaries are compatible as per the entries below:
- ChromeDriver v78.0.3904.70:支持Chrome版本78
- ChromeDriver v77.0.3865.40:支持Chrome版本77
- ChromeDriver v76.0.3809.126:支持Chrome版本76
- ChromeDriver v75.0.3770.8:支持Chrome版本75
- ChromeDriver v74.0.3729.6:支持Chrome版本74
- ChromeDriver v73.0.3683.68:支持Chrome 73版
- ChromeDriver v2.46:支持Chrome v71-73
- ChromeDriver v2.45:支持Chrome v70-72
- ChromeDriver v2.44:支持Chrome v69-71(与ChromeDriver 2.43相同,但具有其他错误修复)
- ChromeDriver v2.43:支持Chrome v69-71
- ChromeDriver v2.42:支持Chrome v68-70
- ChromeDriver v2.41:支持Chrome v67-69
- ChromeDriver v2.40:支持Chrome v66-68
- ChromeDriver v2.39:支持Chrome v66-68
- ChromeDriver v2.38:支持Chrome v65-67
- ChromeDriver v2.37:支持Chrome v64-66
- ChromeDriver v2.36:支持Chrome v63-65
- ChromeDriver v2.35:支持Chrome v62-64
- ChromeDriver v2.34:支持Chrome v61-63
- ChromeDriver v2.33:支持Chrome v60-62
- ChromeDriver v2.32:支持Chrome v59-61
- ChromeDriver v2.31:支持Chrome v58-60
- ChromeDriver v2.30:支持Chrome v58-60
- ChromeDriver v2.29:支持Chrome v56-58
- ChromeDriver v2.28:支持Chrome v55-57
- ChromeDriver v2.27:支持Chrome v54-56
- ChromeDriver v78.0.3904.70: Supports Chrome version 78
- ChromeDriver v77.0.3865.40: Supports Chrome version 77
- ChromeDriver v76.0.3809.126: Supports Chrome version 76
- ChromeDriver v75.0.3770.8: Supports Chrome version 75
- ChromeDriver v74.0.3729.6: Supports Chrome version 74
- ChromeDriver v73.0.3683.68: Supports Chrome version 73
- ChromeDriver v2.46: Supports Chrome v71-73
- ChromeDriver v2.45: Supports Chrome v70-72
- ChromeDriver v2.44: Supports Chrome v69-71 (same as ChromeDriver 2.43, but with additional bug fixes)
- ChromeDriver v2.43: Supports Chrome v69-71
- ChromeDriver v2.42: Supports Chrome v68-70
- ChromeDriver v2.41: Supports Chrome v67-69
- ChromeDriver v2.40: Supports Chrome v66-68
- ChromeDriver v2.39: Supports Chrome v66-68
- ChromeDriver v2.38: Supports Chrome v65-67
- ChromeDriver v2.37: Supports Chrome v64-66
- ChromeDriver v2.36: Supports Chrome v63-65
- ChromeDriver v2.35: Supports Chrome v62-64
- ChromeDriver v2.34: Supports Chrome v61-63
- ChromeDriver v2.33: Supports Chrome v60-62
- ChromeDriver v2.32: Supports Chrome v59-61
- ChromeDriver v2.31: Supports Chrome v58-60
- ChromeDriver v2.30: Supports Chrome v58-60
- ChromeDriver v2.29: Supports Chrome v56-58
- ChromeDriver v2.28: Supports Chrome v55-57
- ChromeDriver v2.27: Supports Chrome v54-56
Note: A few months ago, Chromium Team made a preliminary announcement that ChromeDriver's versioning model will be changing. Now Chromium Team is moving forward with the plan. Specifically, ChromeDriver 2.46 will be the last release carrying the major version of 2. Future ChromeDriver releases will carry a version number similar to Chrome release. We will start with a release of ChromeDriver 73 next week, before the Beta release of Chrome 73.
以下是新发行模型的工作方式:
Here is how the new release model will work:
- ChromeDriver将使用与Chrome相同的版本号方案.有关更多信息,请参见 https://www.chromium.org/developers/version-numbers 详细信息.
- 每个版本的ChromeDriver将支持具有匹配的主要版本,次要版本和内部版本号的Chrome.例如,即将发布的ChromeDriver 73.0.3683.*将支持所有以73.0.3683开头的Chrome版本.
- 在新的主要版本的Chrome浏览器进入Beta之前,将发布匹配版本的ChromeDriver.例如,下周将发布新版本的ChromeDriver,以匹配Chrome m73的Beta版.
- 在首次发布新的主要版本之后,我们将根据需要发布补丁.这些修补程序可能与更新Chrome一致,也可能不一致.
- ChromeDriver will be using the same version number scheme as Chrome. See https://www.chromium.org/developers/version-numbers for more details.
- Each version of ChromeDriver will support Chrome with matching major, minor, and build version numbers. For example, upcoming ChromeDriver 73.0.3683.* will support all Chrome versions that start with 73.0.3683.
- Before a new major version of Chrome goes to Beta, a matching version of ChromeDriver will be released. For example, a new version of ChromeDriver will be release next week to match the Beta release of Chrome m73.
- After the initial release of a new major version, we will release patches as needed. These patches may or may not coincide with updates to Chrome.
此外,当 Selenum Grid Node 似乎已成功注册到 Selenum Grid Hub 时,也已观察到此错误com.google.common.util.concurrent.SimpleTimeLimiter
,并且已从网格控制台中得到确认但是当请求会话时,观察到以下错误:
Further, this error com.google.common.util.concurrent.SimpleTimeLimiter
was also observed when a Selenum Grid Node appears to have successfully registered to the Selenum Grid Hub and was also confirmed from the grid console but when requesting for a session the following error was observed :
org.openqa.selenium.WebDriverException: com.google.common.util.concurrent.SimpleTimeLimiter.create(Ljava/util/concurrent/ExecutorService;)Lcom/google/common/util/concurrent/SimpleTimeLimiter;
由于包装在JAR中的硒和番石榴依赖项之间存在不一致,因此Selenium-Grid-Extras Hub (1.12.16)
发生了此错误
This error occured with Selenium-Grid-Extras Hub (1.12.16)
due to inconsistency between selenium and guava dependencies that are packaged into the JAR
此问题已通过合并#367 并使用 Selenium v3.8.1 将解决您的问题.
This issue was addressed through the merge #367 and using Selenium v3.8.1 will solve your problem.
确保两点为:
- Selenium Grid Extras版本大于(或等于)1.12.17
- 番石榴依赖项已更新.
这篇关于java.lang.IllegalAccessError:尝试访问方法com.google.common.util.concurrent.SimpleTimeLimiter.使用Selenium-Java 3.5.1或更高版本时的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!