首页 > 解决方案 > Capybara,Chrome Headless:文件下载不工作

问题描述

我正在尝试下载带有 chrome headless 的文件。我的 Chrome 版本是 67.0.3396.87,我的 chromedriver 是 2.4。

该文件没有出现在我的文件系统上。据我研究,它是 chrome headless 的一项安全功能,可防止文件下载,但可以再次打开。

这就是我试图做的,关于这个线程: https ://bugs.chromium.org/p/chromium/issues/detail?id=696481

仍然没有任何效果。我尝试了不同的方法

Page.setDownloadBehavior

例如。我复制了评论 78 的内容,但 Chrome 没有回应,或者至少它仍然不起作用:

def enable_chrome_headless_downloads(driver, directory)
  bridge = driver.send(:bridge)
  path = '/session/:session_id/chromium/send_command'
  path[':session_id'] = bridge.session_id
  bridge.http.call(:post, path, {
    "cmd" => "Page.setDownloadBehavior",
    "params" => {
      "behavior" => "allow",
      "downloadPath" => directory,
    }
  })
end

我还检查了是否可以手动下载带有无头 chrome 的文件

'--remote-debugging-port=9222'

但这也不可能。有谁知道,我能做些什么来使它工作?

已经谢谢了!

标签: google-chromegoogle-chrome-devtoolscapybara

解决方案


推荐阅读