如何覆盖 "downlod multiple files" 弹出窗口

How to override "downlod multiple files" popup

我使用 watir 来实现浏览器自动化。我有一个显示“下载多个文件”的弹出窗口,需要在文件下载之前单击它。我怎样才能覆盖这个? 我已经正确尝试了所有设置,但效果不佳。

I use chrome chrome=88.0.4324.150

    download_dir = "#{Dir.pwd}/downloads".gsub('/', '\')
Dir.mkdir download_dir unless Dir.exist? download_dir
args     = %w(--disable-infobars)
prefs    = { download: { prompt_for_download: false, default_directory: download_dir }}

       

  ie=Watir::Browser.new(:chrome, options: { args: args }, prefs: prefs)

我做了进一步的比较。我机器上的默认 chrome 允许多次下载,但 watir 启动的则不允许。我如何解决它?

prefs = {'profile.default_content_setting_values.automatic_downloads' => 2}
Watir::Browser.new(:chrome, options: {prefs: prefs})
  1. Watir 功能不在最佳位置,因此这不是那么简单。它将在基于 Selenium 4 的 Watir 7 中得到修复
  2. 使用 Selenium 功能 class 未正确转换为 w3c 语法,只是旧的 JSON Wire Protocol 语法,这没有帮助
  3. Selenium 3 代码默认将 Symbol 中的所有内容从蛇形大小写转换为驼峰形大小写。所以密钥必须是 String。 Selenium 4 专门针对 Chrome 首选项进行了修复。
  4. 关闭该开关的正确偏好是“profile.default_content_setting_values.automatic_downloads”
  5. 对于这些首选项,默认值为 0,启用 1,禁用 2。除了传入哪个值似乎并不重要;如果您传入任何内容,它似乎会关闭该设置。 /耸肩