如何使用Selenium和Firefox自动下载可执行文件? [英] How to automatically download an executable with Selenium and Firefox?

查看:220
本文介绍了如何使用Selenium和Firefox自动下载可执行文件?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

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

I'm using Selenium Webdriver and C# to automate automatically downloading an executable when I click on a link in Firefox. Ideally, I'd like to execute the file as well but for now, I'd like to download it and execute it later. Here's what I have so far:

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. 如何确保不会出现保存"对话框,并且下载会自动进行?

When I click the link, it still shows the Save dialog but it does save it to my Test folder if I click Save. I'm using Firefox 21. How do I ensure the Save dialog doesn't appear and the download happens automatically?

推荐答案

创建驱动程序时:

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)

这篇关于如何使用Selenium和Firefox自动下载可执行文件?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆