Selenium firefox - WebDriverException:到达错误页面:about:certerror

Sau*_*aur 5 java firefox selenium selenium-firefoxdriver geckodriver

元:-

  • 火狐浏览器 v51.0.1(32 位)
  • Windows 10
  • 硒3.0.1
  • Geckodriver Win32 v0.13.0
  • Java v1.8.0_71

重现步骤 :-

WebDriver driver = new FirefoxDriver();
driver.get("untrusted/self-signed URL")
Run Code Online (Sandbox Code Playgroud)

堆栈跟踪 :-

org.openqa.selenium.WebDriverException:到达错误页面:about:certerror?e=nssBadCert&u=xxxxxxxx&c=UTF-8&f=regular&d=xxxxxx%20uses%20an%20invalid%20security%20certificate.%0A%0AThe%20certificate%20is%20not %20受信任%20,因为%20it%20是%20自签名的。%0A%20证书%20是%20不是%20对于%20%20名称%20xxxxxx%0A%0AError%20code%3A%20%3Ca%20id%3D%22errorCode%有效%20 22%20title%3D%22SEC_ERROR_UNKNOWN_ISSUER%22%3ESEC_ERROR_UNKNOWN_ISSUER%3C/a%3E%0A 构建信息:版本:'3.0.1',修订版:'1969d75',时间:'2016-10-18 09:48:19 - 0700'系统信息:主机:'Saurabh-PC',ip:'192.168.3.8',os.name:'Windows 10',os.arch:'x86',os.version:'10.0',java.version: “1.8.0_71”驱动程序信息:org.openqa.selenium.firefox.FirefoxDriver

截屏 :-

在此输入图像描述

我也尝试过使用FirefoxProfileas :-

DesiredCapabilities dc = DesiredCapabilities.firefox();
dc.setCapability(CapabilityType.ACCEPT_SSL_CERTS, true);

FirefoxProfile profile = new FirefoxProfile();
profile.setAcceptUntrustedCertificates(true);

dc.setCapability(FirefoxDriver.PROFILE, profile);

WebDriver driver =  new FirefoxDriver(dc);
driver.get("untrusted/self-signed URL");
Run Code Online (Sandbox Code Playgroud)

但问题和上面是一样的。

已尝试过的参考链接:-


根据此错误,已通过错误 1103196添加了对不受信任/自签名证书的支持,并将从Firefox 52.

但我找不到任何解决方案Firefox v51.0.1 (32-bit)

有什么办法可以使用 来解决这个问题Firefox v51.0.1 (32-bit)吗?

Sau*_*aur 4

正如在此错误中提到的,对不可信/自签名证书的支持将从 开始提供Firefox 52,我们需要等到Firefox 52不发布。


解决方案:- 目前,作为替代解决方案,我们需要使用现有的,其中不受信任/自签名Firefox profileURL的证书已添加到.Firefox's exception list

如何为 selenium 创建自定义 Firefox 配置文件?

在此输入图像描述

  • 使用现有配置文件启动 Firefox:-

    System.setProperty("webdriver.gecko.driver", "path/to/geckodriver")
    
    ProfilesIni profile = new ProfilesIni();
    FirefoxProfile myprofile = profile.getProfile("created Profile Name");
    
    WebDriver driver = new FirefoxDriver(myprofile);
    driver.get("untrusted/self-signed URL");
    
    Run Code Online (Sandbox Code Playgroud)