java - Selenium 网络驱动程序 : Suppressing untrusted connection message in firefox

标签 java firefox browser automation selenium-webdriver

我在 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/

相关文章:

php - 我的域名前缀搞乱了...我该如何解决这个问题?

html - 响应式设计模式与调整浏览器窗口大小

java - Hibernate:仅允许具有给定属性的实体进行 OneToMany 关联

html - 带有单选按钮的奇怪的 Firebug 行为

javascript - 我可以知道 Firefox 跟踪保护何时在 javascript 代码中打开吗?

html - 有什么方法可以在我的 .exe 应用程序和 Firefox 之间进行通信吗?

reactjs - React/Browser - 是否有任何数据通过 useState Hook 存储在用户的设备上,发布页面刷新?

java - 在Firestore中构造此类数据的正确方法是什么?

java - Android 新 Activity 未启动

java - WebRTC服务器Java实现