如何通过Java中的Firefox配置文件下载CSV文件

问题 – 设置Firefox配置文件后,Firefox在下载CSV文件时不断询问下载位置。 请帮忙。

System.setProperty("webdriver.gecko.driver", "..\\C_Automation\\Files\\geckodriver64_15.0.exe"); FirefoxProfile Profile = new FirefoxProfile(); Profile.setPreference("browser.download.dir",downloadFilepath); Profile.setPreference("browser.download.folderList",2); Profile.setPreference("browser.helperApps.neverAsk.saveToDisk", "text/csv"); Profile.setPreference("browser.download.manager.showWhenStarting",false); Profile.setPreference("browser.helperApps.neverAsk.openFile","text/csv"); Profile.setPreference("browser.helperApps.alwaysAsk.force", false); driver = new FirefoxDriver(Profile); 

以下是您的问题的答案:

我没有在您的代码中看到任何重大问题。 但是,当您为FirefoxProfile类设置setPreference ,请FirefoxProfile添加此站点中引用的所有相关的CSV类型文件的Multipurpose Internet Mail Extensions

这是您自己的代码块,并添加了一些简单的调整:

  String downloadFilepath = "C:\\Utility\\OP_Resources\\MozillaFirefoxDownload"; System.setProperty("webdriver.gecko.driver", "C:\\Utility\\BrowserDrivers\\geckodriver.exe"); FirefoxProfile Profile = new FirefoxProfile(); Profile.setPreference("browser.download.dir",downloadFilepath); Profile.setPreference("browser.download.folderList",2); //neverAsk - saveToDisk - CSV Profile.setPreference("browser.helperApps.neverAsk.saveToDisk", "application/csv,application/excel,application/vnd.ms-excel,application/vnd.msexcel,text/anytext,text/comma-separated-values,text/csv,text/plain,text/x-csv,application/x-csv,text/x-comma-separated-values,text/tab-separated-values"); //neverAsk - saveToDisk - ANY Profile.setPreference("browser.helperApps.neverAsk.saveToDisk", "application/xml,text/plain,text/xml,image/jpeg,application/octet-stream"); Profile.setPreference("browser.download.manager.showWhenStarting",false); //neverAsk - openFile - CSV Profile.setPreference("browser.helperApps.neverAsk.openFile","application/csv,application/excel,application/vnd.ms-excel,application/vnd.msexcel,text/anytext,text/comma-separated-values,text/csv,text/plain,text/x-csv,application/x-csv,text/x-comma-separated-values,text/tab-separated-values"); //neverAsk - openFile - ANY Profile.setPreference("browser.helperApps.neverAsk.openFile","application/xml,text/plain,text/xml,image/jpeg,application/octet-stream"); Profile.setPreference("browser.helperApps.alwaysAsk.force", false); 

我已在此网站和Microsoft 网站上validation了我的代码,在我看来工作正常。

如果这回答你的问题,请告诉我。