【发布时间】:2016-03-27 20:47:15
【问题描述】:
我想使用 selenium 处理文件下载。为此,我使用以下代码设置 firefox 配置文件:
FirefoxProfile profile = new FirefoxProfile();
profile.setPreference("browser.download.folderList", 2);
profile.setPreference("browser.download.manager.showWhenStarting", false);
profile.setPreference("browser.download.dir", downloadPath);
profile.setPreference("browser.helperApps.neverAsk.openFile",
"text/csv,application/x-msexcel,application/excel,application/x-excel,application/vnd.ms-excel,image/png,image/jpeg,text/html,text/plain,application/msword,application/xml");
profile.setPreference("browser.helperApps.neverAsk.saveToDisk",
"text/csv,application/x-msexcel,application/excel,application/x-excel,application/vnd.ms-excel,image/png,image/jpeg,text/html,text/plain,application/msword,application/xml");
profile.setPreference("browser.helperApps.alwaysAsk.force", false);
profile.setPreference("browser.download.manager.alertOnEXEOpen", false);
profile.setPreference("browser.download.manager.focusWhenStarting", false);
profile.setPreference("browser.download.manager.useWindow", false);
profile.setPreference("browser.download.manager.showAlertOnComplete", false);
profile.setPreference("browser.download.manager.closeWhenDone", false);
通过我的 UI,我正在下载 2 个文件。 第一个文件,我可以成功下载它的弹出窗口是这样的:
我不确定为什么我的 Firefox 配置文件设置无法处理第二个文件的下载。
请推荐。任何帮助将不胜感激!
【问题讨论】:
-
似乎第一个文件是 Microsoft Office Excel 97-2003 工作表格式,第二个是 Microsoft Office ExcelWorksheet(newer version) 格式,所以找不到打开的应用程序。尝试通过单击保存来保存它然后尝试打开。
-
@Naruto 我相信这真的不容易做到(甚至不可能)(点击保存)- 只使用硒。
-
是否需要使用硒?或者我可以建议另一种方式?
-
@Sammi 你能告诉我们一下,如果单击一个下载按钮会弹出两个下载实例,或者你需要一个接一个地单击按钮来获取这两个 pupup.. ...代码看起来好像通过单击一个下载链接出现两个弹出窗口......
标签: java selenium selenium-webdriver