2016-11-28 168 views
0

使用Selenium WebDriver 3.0.1.0和Marionette以及C#中的geckodriver 0.11.1和Firefox 50。我已經使用FirefoxOptions作爲此ObsoleteAttribute的動機:FirefoxProfile設置被忽略

FirefoxDriver不應該用FirefoxBinary對象構造。 改爲使用FirefoxOptions。

的代碼是:

FirefoxOptions fo = new FirefoxOptions(); 
firefoxProfile = new FirefoxProfile(); 
firefoxProfile.SetPreference("browser.download.folderList", 2); 
firefoxProfile.SetPreference("browser.download.dir", DOWNLOAD_FOLDER); 
firefoxProfile.SetPreference("browser.helperApps.neverAsk.saveToDisk", "text/csv"); 
firefoxProfile.SetPreference("browser.startup.homepage_override.mstone", "ignore"); 
firefoxProfile.SetPreference("trustAllSSLCertificates", true); 
firefoxProfile.AcceptUntrustedCertificates = true; 

fo.Profile = firefoxProfile; 
driver = new FirefoxDriver(fo); 

在我看來,像在所有未使用指定的firefoxProfile,SSL證書錯誤出現,不管被顯示在個人資料設置下載中心對話框。我認爲它不會因爲this bug而忽略SSL證書錯誤,但它看起來像所有的配置文件設置都被忽略。

如何使配置文件設置生效? (這樣就不會出現下載對話框並且SSL錯誤被忽略)

在切換到Marionette之前,代碼工作,看起來像Marionette還沒有準備好使用?

+0

我已經切換回IceDragon和硒2.53和一切都工作了。 –

回答

0

我不知道該配置文件的設置實際上是忽略:

  1. 您應該檢查MIME類型的文件,你需要下載。它真的是text/csv
  2. 沒有像trustAllSSLCertificates這樣的偏好。我認爲你需要firefoxProfile.SetPreference("security.ssl.enable_ocsp_stapling", false);
+0

該代碼在切換到木偶之前工作。但我會嘗試2,謝謝。 –

+0

設置'「security.ssl.enable_ocsp_stapling」,false'沒有任何區別。 –