我可以使用 WebDriver 在 Chrome 中自动执行下载操作。下面是我设置 Chrome 驱动程序的代码:
ChromeOptions options = new ChromeOptions();
HashMap<String, Object> chromePrefs = new HashMap<>();
chromePrefs.put("download.default_directory", "/pathToDownloadFolder");
chromePrefs.put("download.prompt_for_download", false);
chromePrefs.put("download.directory_upgrade", true);
chromePrefs.put("safebrowsing.enabled", true);
options.setExperimentalOption("prefs", chromePrefs);
// create chrome driver
webDriver = new ChromeDriver(options);
文件将保存在 pathToDownloadFolder 中。
但我实际上并不想保存文件。我的目的是自动执行用户操作:点击下载 -> 显示下载对话框 -> 用户点击取消。
哪个选项可以镜像下载对话框的取消按钮?
编辑
我想下载,但不想保存,因为我需要点击下载按钮才能激活另一个按钮来点击,所以保存文件是没有必要的,这就是为什么我想关闭(或自动操作用户点击取消时出现下载对话框)
我调查了 Chrome Options ,但目前的实现似乎不可能。有什么解决方法吗?
最佳答案
启用或提示浏览器请求权限可以使用以下代码完成,
chromePrefs.put("download.prompt_for_download", false);
我看你用过。使其成为 true
。
chromePrefs.put("download.prompt_for_download", true);
这将要求您选择下载位置。因为点击下载后,大多数情况下系统窗口会打开,这无法使用 webdriver 处理。 为此,您必须使用 Sikuli 等第三方工具。
有关 Sikuli 的更多信息,请参见 here .
我没有用过 Sikuli ,但是当我提到你的问题时。我看到了上面链接中给出的示例。也许这会对您有所帮助。
关于java - 如何使用 Selenium 关闭 Chrome 的下载对话框(通过单击取消),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50136196/