如何使用Selenium和Firefox自动下载可执行文件?

时间:2014-02-19 16:17:35

标签: c# firefox selenium selenium-webdriver

当我点击Firefox中的链接时,我正在使用Selenium Webdriver和C#自动下载可执行文件。理想情况下,我也想执行该文件但是现在,我想下载并稍后执行它。这是我到目前为止所做的:

FirefoxProfile profile = new FirefoxProfile();
profile.AcceptUntrustedCertificates = true;
profile.SetPreference("browser.download.folderList", 2);
profile.SetPreference("browser.download.manager.showWhenStarting", false);
profile.SetPreference("browser.download.dir", "c:\\Test");
profile.SetPreference("browser.helperApps.alwaysAsk.force", false);
profile.SetPreference("browser.helperApps.neverAsk.saveToDisk", "application/octet-stream");
IWebDriver driver = new FirefoxDriver(profile);

当我点击链接时,它仍会显示“保存”对话框,但如果单击“保存”,它会将其保存到我的“测试”文件夹中。我正在使用Firefox 21。 如何确保不显示“保存”对话框并自动下载?

1 个答案:

答案 0 :(得分:6)

创建驱动程序时:

FirefoxProfile profile = new FirefoxProfile();

profile.setPreference("browser.download.manager.alertOnEXEOpen", false);
profile.setPreference("browser.download.manager.closeWhenDone", true);
profile.setPreference("browser.download.manager.focusWhenStarting", false);
profile.setPreference("browser.download.manager.showWhenStarting",false);
profile.setPreference("browser.helperApps.neverAsk.saveToDisk","application/x-msdownload");

FirefoxDriver driver = new FirefoxDriver(profile)