我在Firefox 51.0.1上使用Selenium 3,Geckodriver发布v0.14.0。我在尝试打开URL的浏览器上收到错误,它说连接不安全(证书错误),虽然我检查了证书并且它是有效的。
错误是这样的:
Command failed: open target="" value="https://mydomain.mysite.com/default" -> Reached error page: about:certerror?e=nssBadCert&u=https%3A//mydomain.mysite.com/default&c=UTF-8&f=regular&d=mydomain.mysite.com%20uses%20an%20invalid%20security%20certificate.%0A%0AThe%20certificate%20is%20not%20trusted%20because%20the%20issuer%20certificate%20is%20unknown.%0AThe%20server%20might%20not%20be%20sending%20the%20appropriate%20intermediate%20certificates.%0AAn%20additional%20root%20certificate%20may%20need%20to%20be%20imported.%0A%0AError%20code%3A%20%3Ca%20id%3D%22errorCode%22%20title%3D%22SEC_ERROR_UNKNOWN_ISSUER%22%3ESEC_ERROR_UNKNOWN_ISSUER%3C/a%3E%0A
我使用以下代码(下面的部分代码段)来设置FF的功能,并且 acceptSslCerts 似乎不设置为 true
System.setProperty("webdriver.gecko.driver", geckoDriverLocation);
DesiredCapabilities desiredCapabilities = new DesiredCapabilities();
desiredCapabilities.setCapability(CapabilityType.ELEMENT_SCROLL_BEHAVIOR, 1);
FirefoxProfile profile = new FirefoxProfile();
// Set the download path in Firefox profile
profile.setPreference("browser.download.dir", "/User/me/download");
profile.setPreference("browser.download.folderList", 2);
profile.setPreference("browser.download.manager.showWhenStarting",false);
profile.setPreference("browser.helperApps.neverAsk.saveToDisk", "images/jpeg, application/pdf, application/octet-stream, application/zip, application/xml");
profile.setPreference("pdfjs.disabled", true);
profile.setAcceptUntrustedCertificates(true);
profile.setAssumeUntrustedCertificateIssuer(true);
desiredCapabilities.setCapability(FirefoxDriver.PROFILE, profile);
desiredCapabilities.setCapability(CapabilityType.ACCEPT_SSL_CERTS, true);
desiredCapabilities.setCapability("acceptInsecureCerts", true);
return new FirefoxDriver(desiredCapabilities);
如果我在上面的最后一个语句上加上断点并检查,它会将((RemoteWebDriver) webDriver).getCapabilities().getCapability("acceptSslCerts")
作为 false 返回。即 acceptSslCerts 不设置为 true 。详细的错误消息(此处未显示)显示了相同的事实。
这可能是错误发生的原因吗?可以采取哪些措施来确保正确设置此值( acceptSslCerts )?
请注意,使用Firefoxdriver的FF 47上的Selenium 2不会发生错误。
非常感谢任何帮助。
答案 0 :(得分:0)
根据下面发布的更新,除非使用Firefox v52,否则无法解决上述问题。
尝试使用仍处于测试阶段的FF 52。它奏效了!