代碼試驗:
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
錯誤快照:

uj5u.com熱心網友回復:
此錯誤訊息...
Exception in thread "main" java.lang.NoClassDefFoundError: com/google/common/collect/ImmutableMap
...暗示檔案com/google/common/collect/ImmutableMap可能已損壞或您使用的二進制檔案版本之間存在一些不兼容。
此外,您需要注意以下幾點:
不要將
chromedriver.exe二進制檔案存盤在下面,而是C:\嘗試將其放在目錄中C:\\BrowserDrivers\\chromedriver.exe并相應地更改System.setProperty()行。如此有效,代碼行將是:System.setProperty("webdriver.gecko.driver","C:\\BrowserDrivers\\chromedriver.exe");
還要確保:
- JDK升級到當前級別JDK 8u311。
- Selenium升級到當前發布的版本 4.1.3。
- ChromeDriver已更新到當前的ChromeDriver v100.0級別。
- Chrome 瀏覽器已更新為當前chrome=100.0(根據chromedriver=100.0.4896.60 發行說明)。
參考
您可以在以下位置找到相關討論:
- java.lang.NoClassDefFoundError: com/google/common/collect/ImmutableMap 錯誤在 Java 中通過 Selenium 使用 GeckoDriver Firefox
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/459654.html
