调查了该问题的一些解决方法。想分享我的发现。关于一般使用 Selenium 的自动化浏览器对话框:
没有简单的方法可以让 Selenium 下载文件,因为浏览器使用无法由 JavaScript 控制的本机对话框,因此您需要一些“hack”。
检查这个
特别是关于 ffox 浏览器设置,您可以将 Firefox 配置为自动开始下载并将文件保存在特定位置。
或者使用它:
FirefoxProfile firefoxProfile = new FirefoxProfile();
firefoxProfile.setPreference("browser.download.folderList",2);
firefoxProfile.setPreference("browser.download.manager.showWhenStarting",false);
firefoxProfile.setPreference("browser.download.dir","c:\\downloads");
firefoxProfile.setPreference("browser.helperApps.neverAsk.saveToDisk","text/csv");
WebDriver driver = new FirefoxDriver(firefoxProfile);//new RemoteWebDriver(new URL("http://localhost:4444/wd/hub"), capability);
driver.navigate().to("http://www.myfile.com/hey.csv");
希望这对你有用