我必须自动化一个案例,在这个案例中我必须使用 Selenium WebDriver 和跨浏览器下载文件。
我已经为 Chrome(通过ChromeOptions)、FF(通过FirefoxProfile)和 IE11 这样做了。例如,在 Firefox 中,我使用Firefox Profile抑制下载提示,如下所示:
profile.setPreference("browser.download.dir", "C:\\DownloadCleanup");
profile.setPreference("browser.download.folderList", 2);
profile.setPreference("browser.download.manager.showWhenStarting", false);
profile.setPreference("browser.helperApps.alwaysAsk.force", false);
profile.setPreference("browser.helperApps.neverAsk.saveToDisk", mimeTypes);
对于 IE11,我使用Robotclass 按下组合键Alt + S,如下所示:
Robot robot = new Robot();
// simulate the "Alt + S" to save file on IE11 when Download Prompt appears
robot.keyPress(KeyEvent.VK_ALT);
robot.keyPress(KeyEvent.VK_S);
robot.keyRelease(KeyEvent.VK_ALT);
robot.keyRelease(KeyEvent.VK_S);
一切正常。现在我想在 Edge 中做到这一点。但是我找不到 Edge 的组合键(如 IE11)或设置(如 Chrome 和 FF)。
我在 Edge 中手动尝试,但出现下载提示时似乎没有保存文件的快捷方式。因此,我的解决方法是转到 Edge -> 设置 -> 高级设置并停用此下载提示。
有谁知道如何通过 Selenium 做到这一点,比如在 Chrome、FF 中?
皈依舞
繁花不似锦
相关分类