"java.lang.module.InvalidModuleDescriptorException: Provider class org.apache.bsf.BSFManager not in module" ChromeDriver Selenium 错误
"java.lang.module.InvalidModuleDescriptorException: Provider class org.apache.bsf.BSFManager not in module" error with ChromeDriver Selenium
我正在使用带有 jdk13 和 selenium 3.0.1 .jar 文件的 eclipse 09-2019。
我的代码是:
package package1;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.chrome.ChromeDriver;
import org.openqa.selenium.firefox.FirefoxDriver;
public class Script1
{
public static void main(String[] args)
{
System.out.println("Hii");
System.setProperty("Webdriver.chrome.driver","E:\Selenium\chromedriver.exe");
WebDriver driver=new ChromeDriver();
driver.get("http://www.google.com");
}
}
错误:
java.lang.module.InvalidModuleDescriptorException: Provider class org.apache.bsf.BSFManager not in module
InvalidModuleDescriptorException
InvalidModuleDescriptorException 在读取模块描述符时抛出并且发现模块描述符格式错误或无法解释为模块描述符。
InvalidModuleDescriptorException 可以在以下任一情况下引发:
- Java 项目的问题。
- Java 项目中 Java 包的问题。
- Java class 在 Java 包中的问题。
但是,根据 Does Selenium v3.141 support Java 13? it seems the latest version of still doesn't supports java-13 中的讨论。
解决方案
战略解决方案是安装最新版本的 JDK 8u222 并执行 @Tests
此外,您还需要将 System.setProperty()
行中的大写字母 W 替换为小写字母 w。因此,实际上,您需要替换:
System.setProperty("Webdriver.chrome.driver","E:\Selenium\chromedriver.exe");
有
System.setProperty("webdriver.chrome.driver","E:\Selenium\chromedriver.exe");
额外考虑
此外,确保:
- Selenium 已升级到当前级别 Version 3.141.59。
- Chrome驱动程序 已更新至当前 ChromeDriver v79.0.3945.36 级别。
- Chrome 已更新至当前 Chrome 版本 79.0 级别。 (根据 ChromeDriver v79.0 release notes)
我正在使用带有 jdk13 和 selenium 3.0.1 .jar 文件的 eclipse 09-2019。
我的代码是:
package package1;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.chrome.ChromeDriver;
import org.openqa.selenium.firefox.FirefoxDriver;
public class Script1
{
public static void main(String[] args)
{
System.out.println("Hii");
System.setProperty("Webdriver.chrome.driver","E:\Selenium\chromedriver.exe");
WebDriver driver=new ChromeDriver();
driver.get("http://www.google.com");
}
}
错误:
java.lang.module.InvalidModuleDescriptorException: Provider class org.apache.bsf.BSFManager not in module
InvalidModuleDescriptorException
InvalidModuleDescriptorException 在读取模块描述符时抛出并且发现模块描述符格式错误或无法解释为模块描述符。
InvalidModuleDescriptorException 可以在以下任一情况下引发:
- Java 项目的问题。
- Java 项目中 Java 包的问题。
- Java class 在 Java 包中的问题。
但是,根据 Does Selenium v3.141 support Java 13? it seems the latest version of
解决方案
战略解决方案是安装最新版本的 JDK 8u222 并执行 @Tests
此外,您还需要将 System.setProperty()
行中的大写字母 W 替换为小写字母 w。因此,实际上,您需要替换:
System.setProperty("Webdriver.chrome.driver","E:\Selenium\chromedriver.exe");
有
System.setProperty("webdriver.chrome.driver","E:\Selenium\chromedriver.exe");
额外考虑
此外,确保:
- Selenium 已升级到当前级别 Version 3.141.59。
- Chrome驱动程序 已更新至当前 ChromeDriver v79.0.3945.36 级别。
- Chrome 已更新至当前 Chrome 版本 79.0 级别。 (根据 ChromeDriver v79.0 release notes)