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

bea*_*man 2 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);
Run Code Online (Sandbox Code Playgroud)

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

Nat*_*ill 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)
Run Code Online (Sandbox Code Playgroud)