如何更改 JAVA 中的“security.insecure_field_warning.contextual.enabled”等 firefox 配置文件首选项字段

How to change firefox profile preference fields like “security.insecure_field_warning.contextual.enabled” in JAVA

Firefox 版本

53.0(32 位)

3.4.0

    ProfilesIni profile = new ProfilesIni();
    FirefoxProfile firefoxProfile = profile.getProfile("Selenium");

    firefoxProfile.setPreference("security.insecure_field_warning.contextual.enabled", false);

问题是第三行什么都不做。 如果我在 about:config 中手动将 security.insecure_field_warning.contextual.enabled 设置为 false,此更改不会保存在配置文件中。

如何将 java 中的 code 设置为 false

我看到了类似的主题,但它在 Python

显然 security.insecure_field_warning.contextual.enabled 是从 about:config 设置到 Firefox

这是您问题的答案:

在使用带有 geckodriver v.0.16.1 和 Mozilla Firefox 53.x 的 Selenium 3.4.0 时,要从 security.insecure_field_warning.contextual.enabled 设置为 false 的现有 Firefox 配置文件开始,您需要通过 setPreference 指定 ("security.insecure_field_warning.contextual.enabled", false) 然后您需要通过 DesiredCapabilities Class.

传递 Firefox 配置文件

这是在 Firefox 浏览器中将 "security.insecure_field_warning.contextual.enabled" 设置为 false 的工作代码块:

    System.setProperty("webdriver.gecko.driver", "C:\your_directory\geckodriver.exe");
    ProfilesIni profile = new ProfilesIni();
    FirefoxProfile testprofile = profile.getProfile("debanjan");
    testprofile.setPreference("security.insecure_field_warning.contextual.enabled", false);
    DesiredCapabilities dc = DesiredCapabilities.firefox();
    dc.setCapability(FirefoxDriver.PROFILE, testprofile);
    dc.setCapability("marionette", true);
    WebDriver driver =  new FirefoxDriver(dc);
    driver.manage().window().maximize();

如果这回答了您的问题,请告诉我。