selenium无法打开firefox浏览器说NoclassDefFound错误

时间:2016-11-17 06:09:22

标签: selenium firefox selenium-webdriver geckodriver

我们正在使用selenium 3.0.1和gecko驱动程序(v0.11.1)以及firefox版本49。当我们尝试使用此代码触发firefox浏览器时

     System.setProperty("webdriver.gecko.driver",gecko_driver_path );
     WebDriver driver = new FirefoxDriver();        
     driver.manage().window().maximize();
     return driver;

我们收到此错误

     java.lang.NoClassDefFoundError: org/openqa/selenium/remote/SessionNotFoundException
     at org.openqa.selenium.firefox.FirefoxDriver.<init>(FirefoxDriver.java:216)
     at org.openqa.selenium.firefox.FirefoxDriver.<init>(FirefoxDriver.java:211)
     at org.openqa.selenium.firefox.FirefoxDriver.<init>(FirefoxDriver.java:207)
     at org.openqa.selenium.firefox.FirefoxDriver.<init>(FirefoxDriver.java:120)
     at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
     at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
     at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
     at java.lang.reflect.Method.invoke(Method.java:497)
     at cucumber.runtime.Utils$1.call(Utils.java:37)

请帮帮我。

1 个答案:

答案 0 :(得分:1)

您必须按如下方式添加selenium-standalone服务器jar依赖项:

  

如果您使用的是DefaultSelenium(或RemoteWebDriver实现),则仍需要启动Selenium服务器。最好的方法是从Selenium下载页面下载selenium-server-standalone.jar并使用它。此外,如果您将以下依赖项添加到pom.xml中,您还可以将Selenium服务器嵌入到您自己的项目中:

<dependency>
    <groupId>org.seleniumhq.selenium</groupId>
    <artifactId>selenium-server</artifactId>
    <version>3.0.1</version>
</dependency> 

参考:

  1. http://www.seleniumhq.org/download/maven.jsp