google-chrome - 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'
但这也不可能。有谁知道,我能做些什么来使它工作?
已经谢谢了!
解决方案
推荐阅读
- java - 数组列表
getDeclaredMethod("add", Integer.class) 抛出 NoSuchMethodException - amazon-web-services - 如何使用 io1 存储参数指定 iops 参数?
- reactjs - React 'npm start' 给我错误,对于其他项目,该命令成功执行
- javascript - 在 React 中从对象数组中渲染元素
- configuration - Phoenix 框架的 Yaml 运行时配置
- css - 如何让边框在输入焦点中改变颜色
- rust - 在逻辑上拆分借用以解决启用 NLL 的借用检查器的限制是否安全?
- java - 从另一个线程更新对象成员变量
- html - 导航栏不会居中,我错过了什么吗?
- c++ - 在 Chromebook 上运行 Linux vm 时,我需要做什么来编译和运行 C++ 程序?