Exception in thread "main" java.lang.NoClassDefFoundError: com/google/common/collect/ImmutableMap error using Selenium Java
Exception in thread "main" java.lang.NoClassDefFoundError: com/google/common/collect/ImmutableMap error using Selenium Java
代码试验:
package SeleniumSessions;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.chrome.ChromeDriver;
public class TestChrome {
public static void main(String[] args) {
System.setProperty("webdriver.chrome.driver", "C:\chromedriver.exe");
WebDriver driver=new ChromeDriver();
driver.get("https://www.google.com");
}
}
错误:
Exception in thread "main" java.lang.NoClassDefFoundError: com/google/common/collect/ImmutableMap
at org.openqa.selenium.chrome.ChromeDriver$ChromeDriverCommandExecutor.getExtraCommands(ChromeDriver.java:122)
at org.openqa.selenium.chrome.ChromeDriver$ChromeDriverCommandExecutor.<init>(ChromeDriver.java:118)
at org.openqa.selenium.chrome.ChromeDriver.<init>(ChromeDriver.java:106)
at org.openqa.selenium.chrome.ChromeDriver.<init>(ChromeDriver.java:93)
at org.openqa.selenium.chrome.ChromeDriver.<init>(ChromeDriver.java:48)
at SeleniumSessions.TestChrome.main
错误快照:
这个错误信息...
Exception in thread "main" java.lang.NoClassDefFoundError: com/google/common/collect/ImmutableMap
...暗示文件 com/google/common/collect/ImmutableMap
可能已损坏或您使用的二进制文件版本之间存在一些不兼容。
此外,您还需要处理以下几件事:
而不是在 C:\
下存储 chromedriver.exe
二进制文件它在目录中 C:\BrowserDrivers\chromedriver.exe
并相应地更改 System.setProperty()
行。如此有效,代码行将是:
System.setProperty("webdriver.gecko.driver","C:\BrowserDrivers\chromedriver.exe");
还要确保:
- JDK 升级到当前等级 JDK 8u311.
- Selenium 升级到当前版本 Version 4.1.3。
- Chrome驱动程序 已更新为当前 ChromeDriver v100.0 级别。
- Chrome 浏览器 更新为当前 chrome=100.0(根据 chromedriver=100.0.4896.60 release notes ).
参考
您可以在以下位置找到相关讨论:
代码试验:
package SeleniumSessions;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.chrome.ChromeDriver;
public class TestChrome {
public static void main(String[] args) {
System.setProperty("webdriver.chrome.driver", "C:\chromedriver.exe");
WebDriver driver=new ChromeDriver();
driver.get("https://www.google.com");
}
}
错误:
Exception in thread "main" java.lang.NoClassDefFoundError: com/google/common/collect/ImmutableMap
at org.openqa.selenium.chrome.ChromeDriver$ChromeDriverCommandExecutor.getExtraCommands(ChromeDriver.java:122)
at org.openqa.selenium.chrome.ChromeDriver$ChromeDriverCommandExecutor.<init>(ChromeDriver.java:118)
at org.openqa.selenium.chrome.ChromeDriver.<init>(ChromeDriver.java:106)
at org.openqa.selenium.chrome.ChromeDriver.<init>(ChromeDriver.java:93)
at org.openqa.selenium.chrome.ChromeDriver.<init>(ChromeDriver.java:48)
at SeleniumSessions.TestChrome.main
错误快照:
这个错误信息...
Exception in thread "main" java.lang.NoClassDefFoundError: com/google/common/collect/ImmutableMap
...暗示文件 com/google/common/collect/ImmutableMap
可能已损坏或您使用的二进制文件版本之间存在一些不兼容。
此外,您还需要处理以下几件事:
而不是在
C:\
下存储chromedriver.exe
二进制文件它在目录中C:\BrowserDrivers\chromedriver.exe
并相应地更改System.setProperty()
行。如此有效,代码行将是:System.setProperty("webdriver.gecko.driver","C:\BrowserDrivers\chromedriver.exe");
还要确保:
- JDK 升级到当前等级 JDK 8u311.
- Selenium 升级到当前版本 Version 4.1.3。
- Chrome驱动程序 已更新为当前 ChromeDriver v100.0 级别。
- Chrome 浏览器 更新为当前 chrome=100.0(根据 chromedriver=100.0.4896.60 release notes ).
参考
您可以在以下位置找到相关讨论: