Firefox 错误:使用 Java 使用 Selenium 3.0.1 启动驱动程序时出现“您的连接不安全”
Posted
技术标签:
【中文标题】Firefox 错误:使用 Java 使用 Selenium 3.0.1 启动驱动程序时出现“您的连接不安全”【英文标题】:Firefox Error: "Your connection is not secure" while launching driver with Selenium 3.0.1 using Java 【发布时间】:2017-03-20 22:20:54 【问题描述】:我的 Firefox 版本是 46.0.1,Selenium 版本是 3.0.1。 我收到错误:
您的连接不安全
在执行以下代码时:
@Test
public void test()
ProfilesIni profile = new ProfilesIni();
FirefoxProfile ffProfile = profile.getProfile("newCretedProfile");
ffProfile.setAcceptUntrustedCertificates(true);
ffProfile.setAssumeUntrustedCertificateIssuer(false);
System.setProperty("webdriver.gecko.driver", "D:\\SELENUIUM\\Drivers\\geckodriver.exe");
FirefoxDriver driver = new FirefoxDriver(ffProfile);
driver.get("http://www.google.com");
driver.quit();
我创建了新的 firefox 配置文件并按照此url 中的步骤操作
但是,当我启动任何网站时,它仍然无法正常工作并给我同样的错误。
【问题讨论】:
你能提供你得到的错误信息吗? 嗨@ChristianGrabowski 我收到了这个异常:org.openqa.selenium.WebDriverException: Error loading page
【参考方案1】:
下载Firefox 55 beta并设置
capabilities.setCapability("acceptInsecureCerts", true);
这是适用于 Firefox 55 beta 的代码:
DesiredCapabilities capabilities = new DesiredCapabilities();
capabilities.setBrowserName("firefox");
capabilities.setCapability("acceptInsecureCerts", true);
RemoteWebDriver driver = new RemoteWebDriver(Environment.remoteWebDriverURL, capabilities);
【讨论】:
同样,我也做了new FirefoxDriver(new FirefoxOptions AcceptInsecureCertificates = true )
【参考方案2】:
对于 FF v53+ 和 Se 3.x(2017 年夏季),2017 年(5 月?)之前的建议不再适用。
你have to use Marionette和set capability to True。
我花了几天时间整理出所有陈旧过时的建议,免费提供给你。 :-)
【讨论】:
【参考方案3】:我已经尝试过这种方法,对我来说效果很好。
按照以下步骤创建新的 Firefox 配置文件。
-
关闭所有 Firefox 窗口
在“运行”对话框中,输入:“firefox.exe -p”,然后单击“确定”。
点击“创建配置文件”
为您的新配置文件创建一个名称(例如 Selenium)
点击“选择文件夹”
选择容易找到的位置,例如“C:\NewFirefoxProfile”
点击完成
现在选择新创建的配置文件后,启动 Firefox。打开您收到“安全连接问题”的特定网址,接受此配置文件的 SSL 证书。
现在使用新创建的 firefox 配置文件运行您的 selenium 测试。根据您的要求修改以下代码。
System.setProperty("webdriver.firefox.marionette","D:\\SELENUIUM\\Drivers\\geckodriver.exe");
ProfilesIni profile = new ProfilesIni();
FirefoxProfile myprofile = profile.getProfile("C:\\NewFirefoxProfile");//location of your new firefox profile
WebDriver driver = new FirefoxDriver(myprofile);
driver.get("https://cacert.org/");
【讨论】:
【参考方案4】:如果您想在带有 Selenium 3.0 的 Firefox 上运行测试,请将 Firefox 驱动程序功能“marionette”设置为 false。
@Test
public void test()
DesiredCapabilities d = new DesiredCapabilities();
d.setCapability("marionette", false);
WebDriver driver = new FirefoxDriver(d);
driver.get("http://www.google.com");
driver.quit();
【讨论】:
【参考方案5】:geckodriver/Marionette 似乎还不支持它。
您可以查看以下错误以获取更多信息:-
https://github.com/mozilla/geckodriver/issues/93
https://bugzilla.mozilla.org/show_bug.cgi?id=1103196
【讨论】:
以上是关于Firefox 错误:使用 Java 使用 Selenium 3.0.1 启动驱动程序时出现“您的连接不安全”的主要内容,如果未能解决你的问题,请参考以下文章
SessionNotCreatedException:无法通过Java使用SeleniumGrid和GeckoDriver Firefox找到一组匹配的功能
来自 Java 客户端的 SSL 错误,但在 Firefox 中以 POSTER 形式工作
Firefox 浏览器未使用 selenium webbrowser 代码打开 [重复]