有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

ChromeDriver出现“java.lang.module.InvalidModuleDescriptorException:提供程序类org.apache.bsf.BSFManager不在模块中”错误

我正在使用eclipse 09-2019和jdk13以及selenium 3.0.1。jar文件

我的代码是:

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

共 (1) 个答案

  1. # 1 楼答案

    InvalidModuleDescriptorException无效

    读取模块描述符时抛出InvalidModuleDescriptorException,发现模块描述符格式不正确或无法解释为模块描述符

    在以下任一情况下均可引发InvalidModuleDescriptorException:

    1. Java项目的问题
    2. Java项目中带有的Java包的问题
    3. Java包中的Java类的问题

    然而,根据Does Selenium v3.141 support Java 13?中的讨论,最新版本的Selenium似乎仍然不支持


    解决方案

    战略解决方案是安装最新版本的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");
    

    额外考虑

    此外,确保: