我可以使用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中。
但我不想实际保存文件。我的目的是自动化用户的操作:点击下载 - &gt;出现的下载对话框 - &gt;用户点击取消。
哪个选项可以镜像下载对话框的取消按钮?
修改
我想下载,但不能保存,因为我需要点击下载按钮才能激活另一个按钮点击,因此不需要保存文件,这就是为什么我要解雇(或自动化动作用户点击取消时)下载对话框apesars)
我调查了Chrome Options,但似乎现在的实施不可能。有没有解决方法?
答案 0 :(得分:4)
使用以下代码启用或提示浏览器询问权限,
chromePrefs.put("download.prompt_for_download", false);
我可以看到你已经使用过它了。转到true
。
chromePrefs.put("download.prompt_for_download", true);
这将要求您选择下载位置。由于点击下载后,在大多数情况下系统窗口将打开,无法使用webdriver处理。 为此,您必须使用第三方工具,如 Sikuli 。
可以找到 Sikuli 的更多信息here。
我没有使用 Sikuli ,但是当我提到你的问题时。我看到了上面链接中给出的例子。可能会对你有帮助。