如何通过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了我的代码,在我看来工作正常。
如果这回答你的问题,请告诉我。