selenium webdriver异常(在firefox中)

时间:2017-03-15 11:33:25

标签: java selenium selenium-webdriver

我使用selenium firefox驱动程序3.3.1,selenium java 3.3.0,gecko驱动程序0.14和firefox 52.当我运行我的代码“你的连接不安全”页面出现但是当我手动打开它时,它将打开任何错误 这是我收到的错误信息

  

线程“main”中的异常org.openqa.selenium.WebDriverException:   at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)       at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)       at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)       at java.lang.reflect.Constructor.newInstance(Unknown Source)       at org.openqa.selenium.remote.http.W3CHttpResponseCodec.createException(W3CHttpResponseCodec.java:127)       at org.openqa.selenium.remote.http.W3CHttpResponseCodec.decode(W3CHttpResponseCodec.java:93)       在org.openqa.selenium.remote.http.W3CHttpResponseCodec.decode(W3CHttpResponseCodec.java:42)       在org.openqa.selenium.remote.HttpCommandExecutor.execute(HttpCommandExecutor.java:163)       在org.openqa.selenium.remote.service.DriverCommandExecutor.execute(DriverCommandExecutor.java:82)       在org.openqa.selenium.remote.RemoteWebDriver.execute(RemoteWebDriver.java:604)       在org.openqa.selenium.remote.RemoteWebDriver.get(RemoteWebDriver.java:325)       在automation.Qwik_events_uat_firefox.main(Qwik_events_uat_firefox.java:24)

1 个答案:

答案 0 :(得分:1)

根据geckodriver

  

<强> acceptInsecureCerts
  Boolean最初设置为false,表示会话不会在导航时隐式信任不受信任或自签名的TLS证书。

您可以像下面一样初始化FirefoxDriver以避免出现问题

    FirefoxProfile ff = new FirefoxProfile();
    ff.setAcceptUntrustedCertificates(true);
    WebDriver driver = new FirefoxDriver(ff);

或者您可以使用DesiredCapabilities,例如

    DesiredCapabilities caps = DesiredCapabilities.firefox();
    caps.setCapability("acceptInsecureCerts", true);
    WebDriver driver = new FirefoxDriver(caps);

另外你应该使用GeckoDriver 0.15 ,因为selenium建议这样做

根据Selenium Changelog

  

V3.3.1

     
      
  • 更好地支持geckodriver v0.15.0。值得注意的是,从远程端返回的异常现在已正确打开。
  •