在Heroku中使用gem Watir - 找不到Chrome二进制文件

时间:2018-06-12 17:42:12

标签: ruby-on-rails google-chrome selenium heroku watir

我正在尝试使用gem Watir废弃Heroku中的数据,但我遇到以下问题:

Selenium::WebDriver::Error::UnknownError (unknown error: cannot find Chrome binary

2018-06-12T17:29:54.221948+00:00 app[web.1]:   (Driver info: chromedriver=2.40.565383 

我正在使用这两个buildpackers:

我不明白如何修复rails项目中的路径。如下文所述:https://github.com/heroku/heroku-buildpack-google-chrome#selenium

似乎我必须添加此路径

/app/.apt/usr/bin/google-chrome

但我完全不了解我必须添加的内容。

如果有人有解决方案:)谢谢!

1 个答案:

答案 0 :(得分:0)

我终于发现了什么错误!

Anka的以下答案适用于我的案例:

Ruby / Heroku Selenium::WebDriver::Error::WebDriverError: unable to connect to chromedriver 127.0.0.1:9516

添加以下2个buildpack:

https://github.com/heroku/heroku-buildpack-chromedriver

https://github.com/heroku/heroku-buildpack-google-chrome

在.env文件中添加以下信息:

GOOGLE_CHROME_SHIM = '/app/.apt/usr/bin/google-chrome'

然后按如下方式调用Watir浏览器:

opts = {
    headless: true
  }

  if (chrome_bin = ENV.fetch('GOOGLE_CHROME_SHIM', nil))
    opts.merge!( options: {binary: chrome_bin})
  end 

browser = Watir::Browser.new :chrome, opts