【问题标题】:"java.lang.module.InvalidModuleDescriptorException: Provider class org.apache.bsf.BSFManager not in module" error with ChromeDriver Selenium [duplicate]ChromeDriver Selenium 出现“java.lang.module.InvalidModuleDescriptorException:提供程序类 org.apache.bsf.BSFManager 不在模块中”错误 [重复]
【发布时间】:2020-03-28 23:44:03
【问题描述】:

我正在使用带有 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

【问题讨论】:

标签: java selenium selenium-chromedriver java-module java-13


【解决方案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");

其他注意事项

此外,请确保:

【讨论】:

  • 我切换到 JDK 8,之后它运行良好。谢谢@DebanjanB
猜你喜欢
  • 2020-02-12
  • 2021-10-19
  • 2019-06-25
  • 2020-09-16
  • 2017-01-13
  • 2019-07-22
  • 1970-01-01
  • 2022-01-24
  • 1970-01-01
相关资源
最近更新 更多