首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在Chrome中运行无头模式时将文件下载到路径

在Chrome中运行无头模式时将文件下载到路径
EN

Stack Overflow用户
提问于 2017-11-29 19:04:09
回答 2查看 2.3K关注 0票数 3

我使用以下版本:

  • Ruby 2.4.1
  • 显色剂2.33
  • selenium-WebDriver3.7.0
  • 6.7.3瓦蒂尔
  • 页-对象2.2.2
  • Chrome浏览器62.0.32

env.rb文件包含下载目录的路径。当在无头模式下运行测试而不是时,文件可以完美地下载,但是当我运行它时,就不会发生任何事情,文件也不会下载。我当时使用的是chromderiver 2.27和Chrome浏览器58。*在这两种模式下,有人知道我如何克服这种情况吗?

EN

回答 2

Stack Overflow用户

发布于 2017-12-05 08:57:50

这就是我所发现的,它确实奏效了!

在env.rb文件中,当我为无头模式配置参数时,我将其定义为:

代码语言:javascript
复制
options = Selenium::WebDriver::Chrome::Options.new
options.add_argument('--headless') 
options.add_argument('--no-sandbox')
options.add_argument('--disable-gpu')
options.add_argument('--disable-popup-blocking')
options.add_argument('--window-size=1366,768')
options.add_preference(:download, directory_upgrade: true,
                                prompt_for_download: false,
                                default_directory: DOWNLOAD_DIR)

options.add_preference(:browser, set_download_behavior: { behavior: 'allow' })

$browser = Selenium::WebDriver.for :chrome, options: options

bridge = $browser.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: DOWNLOAD_DIR
                            })

谢谢你在铬的bug网页上评论89:https://bugs.chromium.org/p/chromium/issues/detail?id=696481

票数 12
EN

Stack Overflow用户

发布于 2017-11-30 07:29:19

此时,它不受支持。无头程序是在没有任何处理首选项的铬代码的情况下实现的。https://bugs.chromium.org/p/chromium/issues/detail?id=775911

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/47559973

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档