Ошибка "java.lang.module.InvalidModuleDescriptorException: класс поставщика org.apache.bsf.BSFManager не в модуле" с ChromeDriver Selenium

Я использую 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 ответ

Решение

InvalidModuleDescriptorException

InvalidModuleDescriptorException возникает при чтении дескриптора модуля, и обнаруживается, что дескриптор модуля искажен или иначе не может быть интерпретирован как дескриптор модуля.

InvalidModuleDescriptorException может возникать в любом из следующих сценариев:

  1. Проблемы с проектом Java.
  2. Проблемы с пакетом Java в проекте Java.
  3. Проблемы с классом Java в пакете Java.

Однако, согласно обсуждению в разделе Поддерживает ли Selenium v3.141 Java 13? похоже, последняя версия Selenium все еще не поддерживает java-13.


Решение

Стратегическим решением будет установка последней версии JDK 8u222 и выполнение @Tests

Кроме того, вам также необходимо заменить верхнюю крышку W на нижнюю крышку w вSystem.setProperty()линия. Итак, по сути, вам нужно заменить:

System.setProperty("Webdriver.chrome.driver","E:\\Selenium\\chromedriver.exe");

С

System.setProperty("webdriver.chrome.driver","E:\\Selenium\\chromedriver.exe");

Дополнительное рассмотрение

Кроме того, убедитесь, что:

Другие вопросы по тегам