如何使用Java中的Selenium通过firefox下载XLSX文件?

Ric*_*nha 3 java selenium

我正在尝试使用以下代码下载xlsx文件:

FirefoxProfile profile = new FirefoxProfile();

profile.setPreference("browser.download.dir", "directory where to save data");
profile.setPreference("browser.download.folderList", 2);
profile.setPreference("browser.helperApps.alwaysAsk.force", false);
profile.setPreference("browser.download.manager.showWhenStarting", false);
profile.setPreference("browser.helperApps.neverAsk.saveToDisk", "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet, application/x-excel, application/x-msexcel, application/excel, application/vnd.ms-excel");

ob = new FirefoxDriver(profile);
Run Code Online (Sandbox Code Playgroud)

但是在显示下载对话框之后测试停止,并且它没有下载任何文件。

但是,如果我通过更改上述代码中提到的mime类型,尝试对csv文件使用相同的代码,则效果很好。

请帮我。谢谢。

Ric*_*nha 5

代替上面的代码,我添加了以下内容:

firefoxProfile.setPreference("browser.download.dir",dest_path);
firefoxProfile.setPreference("browser.download.manager.showWhenStarting",false);
firefoxProfile.setPreference("browser.helperApps.neverAsk.saveToDisk","application/xls;text/csv");
Run Code Online (Sandbox Code Playgroud)

现在它工作正常。xlsx的MIME类型无法正常工作,因此我尝试将xlsx的MIME类型放入文件,现在工作正常。XLSX文件将自动下载。