【问题标题】:java.lang.NoClassDefFoundError: org/w3c/dom/ElementTraversaljava.lang.NoClassDefFoundError: org/w3c/dom/ElementTraversal
【发布时间】:2016-12-01 14:01:33
【问题描述】:

我正在尝试使用页面工厂和页面对象模型运行 Java 项目,我想在 Chrome、IE 和 Firefox 上运行它,但我无法在 Firefox 上运行它,浏览器无法打开,我收到此错误:java.lang.NoClassDefFoundError: org/w3c/dom/ElementTraversal

我的代码是:

@BeforeMethod
public static void openBrowser() {
    String browser = "";
    if (browser.equalsIgnoreCase("chrome")){
        System.setProperty("webdriver.chrome.driver", "src\\test\\Resources\\BrowserDrivers\\chromedriver.exe");
        driver = new ChromeDriver();
    }
    else if (browser.equalsIgnoreCase("ie")){
        System.setProperty("webdriver.ie.driver", "src\\test\\Resources\\BrowserDrivers\\IEDriverServer.exe");
        driver = new InternetExplorerDriver();
    }
    else {
        driver = new FirefoxDriver();
    }
    driver = new FirefoxDriver();
    driver.get("http://www.google.com/");
    driver.manage().timeouts().implicitlyWait(20, TimeUnit.SECONDS);
    driver.manage().window().maximize();
}

@AfterMethod
public  static void closeBrowser(){
    driver.quit();
}

【问题讨论】:

  • 您的类路径中需要有 xml-apis....jar。你使用像 Maven 这样的构建工具吗?否则它包含在硒罐中......

标签: java selenium webdriver


【解决方案1】:

参见例如这个Github issue,一些依赖项可能会拖入一个过时版本的xml-apis,这可能会导致这种情况,对我有用的解决方案是添加对xml-apis的特定依赖项,例如与 Maven 类似

<dependency>
    <groupId>xml-apis</groupId>
    <artifactId>xml-apis</artifactId>
    <version>1.4.01</version>
</dependency>

【讨论】:

    猜你喜欢
    • 2016-04-18
    • 2012-05-01
    • 2013-07-05
    • 1970-01-01
    • 1970-01-01
    • 2012-08-19
    • 1970-01-01
    • 2021-05-15
    相关资源
    最近更新 更多