Ошибка "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 может возникать в любом из следующих сценариев:
- Проблемы с проектом Java.
- Проблемы с пакетом Java в проекте Java.
- Проблемы с классом 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");
Дополнительное рассмотрение
Кроме того, убедитесь, что:
- Selenium обновлен до текущих уровней Версия 3.141.59.
- ChromeDriver обновлен до текущего уровня ChromeDriver v79.0.3945.36.
- Chrome обновлен до текущего уровня Chrome Version 79.0. (согласно примечаниям к выпуску ChromeDriver v79.0)