0

我尝试使用配置文件设置在 Firefox 中下载文件,但它不起作用你能告诉我我做错了什么吗?我使用的代码发布在此行下方

var profile = new FirefoxProfile { EnableNativeEvents = true };
profile.SetPreference("browser.download.folderList", 2);
profile.SetPreference("browser.download.manager.showWhenStarting", false);
profile.SetPreference("browser.download.dir", folderName);
profile.SetPreference("browser.download.downloadDir", folderName);
profile.SetPreference("browser.download.defaultFolder", folderName);
profile.SetPreference("browser.helperApps.neverAsk.saveToDisk", "image/jpeg,application/vnd.oasis.opendocument.text,application/vnd.oasis.opendocument.spreadsheet," +
                                                                            "application/vnd.oasis.opendocument.presentation,application/vnd.oasis.opendocument.graphics," +
                                                                            "application/vnd.ms-excel,application/vnd.openxmlformats-officedocument.spreadsheetml.sheet," +
                                                                            "application/vnd.ms-powerpoint,application/vnd.openxmlformats-officedocument.presentationml.presentation," +
                                                                            "application/vnd.openxmlformats-officedocument.wordprocessingml.document,application/vnd.mozilla.xul+xml," +
                                                                            "application/vnd.google-earth.kml+xml");
4

3 回答 3

1

在花了几天的时间尝试并阅读了很多可能性之后,这个对我有用,所以我与你分享,我希望它有用:我只是这样设置 webdriver firefox 配置文件:

firefoxProfile.setPreference("browser.helperApps.neverAsk.saveToDisk", "application/octet-stream doc xls pdf txt");

这个解决方案让我避免显示 firefox 下载弹出窗口,并且我可以使用 selenium webdriver 自动下载 XLS 文件。

于 2013-12-27T19:04:42.823 回答
0

Selenium 为每次运行创建一个新的 firefox 配置文件。您需要为 selenium 创建一个 firefox 配置文件并让您的 selenium 脚本使用它。如果您在此配置文件上设置了自动下载,那么它应该可以正常工作!

见这里 http://girliemangalo.wordpress.com/2009/02/05/creating-firefox-profile-for-your-selenium-rc-tests/

我只为 java 做过这个,但我想这个方法会是相似的。

编辑指定配置文件的java代码是:

ProfilesIni profile = new ProfilesIni();
FirefoxProfile ffprofile = profile.getProfile("SELENIUM");
WebDriver driver = new FirefoxDriver(ffprofile);

资源:

Selenium WebDriver 默认使用什么配置文件?

于 2013-04-08T10:09:55.643 回答
0

使用以下设置使其工作:

FirefoxOptions options = new FirefoxOptions();
FirefoxProfile profile = new FirefoxProfile();
profile.setPreference("browser.download.folderList", 2);
profile.setPreference("browser.download.dir", "C:\\Windows\\temp");
profile.setPreference("browser.download.useDownloadDir", true);
profile.setPreference("browser.helperApps.neverAsk.saveToDisk", "application/octet-stream");
options.setProfile(profile);
driver = new FirefoxDriver(options);

非常重要的注意事项:在查看开发人员工具并观察文件的 Content-Type 后选择了“application/octet-stream”首选项。脚步:

  1. 打开开发者工具
  2. 转到网络
  3. 点击链接下载pdf
  4. 在网络面板中,选择第一个请求
  5. mime 类型是响应标头中的 Content-Type:

在此处输入图像描述

有关首选项设置的更多信息,请参见:http: //toolsqa.com/selenium-webdriver/how-to-download-files-using-selenium/

于 2018-11-12T12:50:59.890 回答