我在 Firefox 中使用了 selenium webdriver,但我不知道是否是由于 Firefox 昨天更新或网站上发生了某些变化,但现在每次驱动程序打开页面时,我都会在 Firefox 中看到不受信任的连接页面,所以我会手动添加异常(exception)。
我无法授予其他人访问该网站的权限来测试,因为它是我们正在创建的内部网站,但 Firefox 中的消息是:
TestingSite 使用无效的安全证书。该证书不受信任,因为未提供颁发者链。 (错误代码:sec_error_unknown_issuer)
在我的测试中,我创建了一个新的 Firefox 配置文件并设置了这两个值:
f.setAcceptUntrustedCertificates(true);
f.setAssumeUntrustedCertificateIssuer(false);
我在其他帖子上读到过有关设置这些内容的信息,人们在这些帖子上遇到了类似的问题,而且在过去的几个月里似乎一直有效,但现在我再次遇到了异常(exception)情况,但仅限于这个网站。
最佳答案
我使用 selenium 3.0.0 Beta2 和 ff48.0.1 也遇到了这个问题 我尝试过的所有“API 方式”都失败了,但我找到了解决此问题的可行方法:
第 1 步 - 手动打开 FF 并手动接受自签名证书(我的意思是接受“sec_error_unknown_issuer”安全异常(exception))
第 2 步 - 找到您的 FF 的配置文件目录并复制您的配置文件目录的路径,例如(MAC env):“/Users/UserABC/Library/Application Support/Firefox/Profiles/vndms5adearwtry.default”
第 3 步 - 在您的 selenium java 代码中,使用以下方式初始化 FirefoxDriver:
FirefoxProfile firefoxProfile = new FirefoxProfile(new File("/Users/UserABC/Library/Application Support/Firefox/Profiles/vndms5adearwtry.default"));
DesiredCapabilities capabilities = DesiredCapabilities.firefox();
capabilities.setCapability(FirefoxDriver.PROFILE, firefoxProfile);
FirefoxDriver driver = new FirefoxDriver(capabilities);
那就这样吧。您现在可以使用 selenium 代码访问具有自签名证书的网站。整个想法不是使用 selenium-API,而是使用 FF 的配置文件,该配置文件已经直接接受“sec_error_unknown_issuer”异常。这就是我解决这个问题的方法,希望对大家有帮助。
关于java - Selenium 网络驱动程序 : Suppressing untrusted connection message in firefox,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19158473/