引导层初始化期间发生错误:无法使用Selenium和Java导出模块描述符错误

时间:2019-08-08 08:32:21

标签: java eclipse selenium selenium-webdriver webdriver

当我尝试在eclipse中设置硒时,在添加jar文件之后,在运行程序时,出现以下错误:

Error occurred during initialization of boot layer
java.lang.module.FindException: Unable to derive module descriptor for C:\Program Files\Selenium\Lib\selenium-server-standalone-3.141.59 (2).jar
Caused by: java.lang.module.InvalidModuleDescriptorException: Provider class org.eclipse.jetty.http.Http1FieldPreEncoder not in module.

2 个答案:

答案 0 :(得分:1)

我遇到了类似的问题,我遇到的问题是我在模块路径下添加了 selenium-server-standalone-3.141.59.jar 而应该在类路径下

所以选择classpath via (project -> Properties -> Java Bbuild Path -> Libraries) 添加下载的最新 jar

添加后一定是这样的

enter image description here

并且必须为我下载适当的浏览器驱动程序我检查并下载了相同版本的 chrome for chrome driver 并添加到 C:\Program Files\Java

以下是对我来说很好用的代码

    public class TestuiAautomation {

        public static void main(String[] args) {

            System.out.println("Jai Ganesha");
            try {
                System.setProperty("webdriver.chrome.driver", "C:\\Program Files\\Java\\chromedriver.exe");
                System.out.println(System.getProperty("webdriver.chrome.driver"));
                ChromeOptions chromeOptions = new ChromeOptions();
                chromeOptions.addArguments("no-sandbox");
                chromeOptions.addArguments("--test-type");
                chromeOptions.addArguments("disable-extensions");
                chromeOptions.addArguments("--start-maximized");
                WebDriver driver = new ChromeDriver(chromeOptions);
                driver.get("https://www.google.com");
                System.out.println("Google is selected");
            } catch (Exception e) {
                System.err.println(e);
            }

        }

    }

对于reference

并检查浏览器版本和 chromedriver 版本

答案 1 :(得分:0)

此错误消息...

Error occurred during initialization of boot layer
java.lang.module.FindException: Unable to derive module descriptor for C:\Program Files\Selenium\Lib\selenium-server-standalone-3.141.59 (2).jar
Caused by: java.lang.module.InvalidModuleDescriptorException: Provider class org.eclipse.jetty.http.Http1FieldPreEncoder not in module.

...表示 Java编译器由于InvalidModuleDescriptor而无法编译程序。

可能的主要问题是使用 Java v9 Java v10 不兼容性 > Java v11 。


解决方案

卸载现有的 JDK v9 / Java v10 / JDK v11 并安装最新的 Java v8 JDK 8u212

  

您可以在Unable to import org.openqa.selenium.WebDriver using Selenium and Java 11

中找到详细的讨论