2017-05-30 46 views
0

的Firefox版本如何更改Firefox的配置偏好字段JAVA像「security.insecure_field_warning.contextual.enabled」

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,則此更改不會保存在配置文件中。

如何將其設置爲falsecodejava

我看到類似的話題,但它在Python

顯然security.insecure_field_warning.contextual.enabledabout:configFirefox

+0

您可以考慮通過簡單的方式將'security.insecure_field_warning.contextual.enabled'設置爲'false'來更新我們正在嘗試做什麼?謝謝 – DebanjanB

+0

@DebanjanB這是一個來自Firefox的設置,目前約在:config ,我想禁用它 – yami

+0

我的問題是具體的,你爲什麼要'禁用'它?什麼是禁用它的實現?我如何測試我的代碼是否真的禁用?謝謝 – DebanjanB

回答

1

這裏設定的是回答你的問題:

工作雖然與硒3.4.0與geckodriver v.0.16.1 & Mozilla Firefox瀏覽器53.x到從現有的Firefox配置文件開始,security.insecure_field_warning.contextual.enabled設置爲false您需要指定("security.insecure_field_warning.contextual.enabled", false)setPreference並且接下來您需要將Firefox配置文件通過慾望dCapabilities類。

這裏是工作的代碼塊,設置"security.insecure_field_warning.contextual.enabled"false在Firefox瀏覽器:

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(); 

讓我知道如果這個回答你的問題。

+0

我嘗試了很多次,它的工作。但現在更少的代碼**似乎也可以工作 - 這很奇怪。謝謝 – yami

+0

@yami很高興它適合你。如果您需要幫助,請告訴我。謝謝 – DebanjanB