我已经被这个问题困扰了两天了。
场景:
需要测试的网站有自签名证书。所以 Internet Explorer(Windows XP 中的 8_ 显示
“本网站提供的安全证书并非由受信任的证书颁发机构颁发。 该网站提供的安全证书是为不同网站的地址颁发的。”
现在对于 IE8 和自签名证书来说这是完全自然的,所以我采取了以下措施但没有用
我尝试使用以下代码,但其中一个适用于硒
Proxy proxy = new Proxy();
proxy.setProxyType(ProxyType.MANUAL);
Proxy.setSslProxy("trustAllSSLCertificates");
DesiredCapabilities capabilities1 = DesiredCapabilities.internetExplorer();
capabilities1.setCapability(CapabilityType.PROXY, proxy);
当这不起作用时,我尝试使用
DesiredCapabilities capabilities = new DesiredCapabilities();
capabilities.setCapability(CapabilityType.ACCEPT_SSL_CERTS, true);
我已经安装了 cybervilans 证书。
5.我什至尝试将 URL 更改为颁发机构,但即使如此,问题仍然存在。
现在我别无选择。 谁能向我指出我该如何继续? 看来我永远只能用IE8了。
我在谷歌和这个网站上进行了很多搜索。但找不到解决我的问题的方法。
当我在网站的开发/测试版本中使用 selenium 时,我经常会看到 IE 屏幕显示无效证书。 要传递这些,请将以下内容发送到 IWebDriver 实例
driver.Navigate().GoToUrl("javascript:document.getElementById('overridelink').click()")
您看到的屏幕可能与错误证书屏幕略有不同,因此只需调整 getElementById 选择器以匹配锚点的 Id。
我像罗伯特写的那样使用它,就像这样:
if (driver instanceof InternetExplorerDriver) {
driver.navigate().to("javascript:document.getElementById('overridelink').click()");
}
此更改将永久接受 IE 中的所有证书错误,但仍然是优雅的解决方案: https://stackoverflow.com/a/7738795/2546759