您需要使用 Firefox 分析来解决这个问题:-
FirefoxProfile pro=new FirefoxProfile();
pro.setPreference("browser.downLoad.folderList", 0);
pro.setPreference("browser.helperApps.neverAsk.saveToDisk", "Applications/zip");
WebDriver driver=new FirefoxDriver(pro);
browser.download.folderList 控制默认文件夹下载
文件到。 0 表示桌面; 1 表示系统默认值
下载位置; 2 表示自定义文件夹。
browser.download.dir 包含自定义目标文件夹
下载。如果 browser.download.folderList 已被激活,则它被激活
设置为 2。
browser.helperApps.neverAsk.saveToDisk 存储一个逗号分隔的列表
MIME 类型保存到磁盘而不询问使用什么来打开
文件。
下面的 chrome 多下载选项代码:-
ChromeOptions options = new ChromeOptions();
Map<String, Object> prefs = new HashMap<String, Object>();
prefs.put("profile.default_content_settings.popups", 0);
prefs.put("download.default_directory", getClass().getResource("/data/input").toString().replace("%20", " ").replace("file:","").replaceFirst("/", ""));
options.setExperimentalOption("prefs", prefs);
options.addArguments("--test-type");
capabilities.setCapability(ChromeOptions.CAPABILITY, options);
对于 IE 参考:-
http://9to5it.com/internet-explorer-disable-do-you-want-to-open-or-save-this-file-prompt/
您也可以使用 java 的 Robot 类,但它可以锁定您的屏幕一段时间
您需要使用 ROBOT 类来触发 ENTER Action 事件。在 java 中,如果您想触发任何事件,您必须使用 Robot 类以编程方式键入或触发 ENTER 和 ESCAPE 等事件。
// Create object of Robot class
Robot object=new Robot();
// Press Enter
object.keyPress(KeyEvent.VK_ENTER);
// Release Enter
object.keyRelease(KeyEvent.VK_ENTER);
希望对你有帮助:)
如果仍然遇到问题,请回复我:)