Linuxの設定(とheroku)のように私は騒ぎです。herokuのchromeドライバでセレンを動かす: `Chromeのバイナリを見つけることができません。 '
私はHerokuでselenium webkit(rubyで)を実行したいと思います。スクリプトにChromeバイナリファイルが見つからないという難点があります。ただ今のところ、それを容易にするために、私は/app/vendor/bundle/bin/chromedriver
からコピーされたファイルであること
~ $ chromedriver
Starting ChromeDriver 2.22.397932 (282ed7cf89cf0053b6542e0d0f039d4123bbb6ad) on port 9515
Only local connections are allowed.
chromedriver
:
chromedriver
ファイルが存在します。この宝石は、バイナリファイルをルビプロセスに利用できるようにしたが、そうしなかった。
また、明示的にパスを設定しようとしました。私のルビーコードではSelenium::WebDriver::Chrome.driver_path = 'chromedriver'
、上記のファイルはルートカテゴリにあります。これは、すべての原因となることができますどのような
(またはdriver_path
せずに)ローカル完璧に動作
?私はthis SO thread年前から読んだことがありますが、それは私に時代遅れのようです。どんなアイデアも大歓迎です!
エラートレース:
~ $ ruby bin/run.rb
/app/vendor/bundle/ruby/2.2.0/gems/selenium-webdriver-2.53.4/lib/selenium/webdriver/remote/response.rb:70:in `assert_ok': unknown error: cannot find Chrome binary (Selenium::WebDriver::Error::UnknownError)
(Driver info: chromedriver=2.22.397932 (282ed7cf89cf0053b6542e0d0f039d4123bbb6ad),platform=Linux 3.13.0-91-generic x86_64)
from /app/vendor/bundle/ruby/2.2.0/gems/selenium-webdriver-2.53.4/lib/selenium/webdriver/remote/response.rb:34:in `initialize'
from /app/vendor/bundle/ruby/2.2.0/gems/selenium-webdriver-2.53.4/lib/selenium/webdriver/remote/http/common.rb:78:in `new'
from /app/vendor/bundle/ruby/2.2.0/gems/selenium-webdriver-2.53.4/lib/selenium/webdriver/remote/http/common.rb:78:in `create_response'
from /app/vendor/bundle/ruby/2.2.0/gems/selenium-webdriver-2.53.4/lib/selenium/webdriver/remote/http/default.rb:90:in `request'
from /app/vendor/bundle/ruby/2.2.0/gems/selenium-webdriver-2.53.4/lib/selenium/webdriver/remote/http/common.rb:59:in `call'
from /app/vendor/bundle/ruby/2.2.0/gems/selenium-webdriver-2.53.4/lib/selenium/webdriver/remote/bridge.rb:649:in `raw_execute'
from /app/vendor/bundle/ruby/2.2.0/gems/selenium-webdriver-2.53.4/lib/selenium/webdriver/remote/bridge.rb:123:in `create_session'
from /app/vendor/bundle/ruby/2.2.0/gems/selenium-webdriver-2.53.4/lib/selenium/webdriver/remote/bridge.rb:87:in `initialize'
from /app/vendor/bundle/ruby/2.2.0/gems/selenium-webdriver-2.53.4/lib/selenium/webdriver/chrome/bridge.rb:48:in `initialize'
from /app/vendor/bundle/ruby/2.2.0/gems/selenium-webdriver-2.53.4/lib/selenium/webdriver/common/driver.rb:64:in `new'
from /app/vendor/bundle/ruby/2.2.0/gems/selenium-webdriver-2.53.4/lib/selenium/webdriver/common/driver.rb:64:in `for'
from /app/vendor/bundle/ruby/2.2.0/gems/selenium-webdriver-2.53.4/lib/selenium/webdriver.rb:84:in `for'
from /app/lib/mealpass_orderer.rb:12:in `initialize'
from /app/lib/mealpass_orderer.rb:8:in `new'
from /app/lib/mealpass_orderer.rb:8:in `run'
from bin/run.rb:3:in `<main>'
UPDATE:
私はAWS EC2サーバと同じ試してみました(打ち上げ例えば、クローン化されたGitのレポ、すべての依存関係をインストール)。そこにも同じことが起こります。つまり、端末からクロムドライバを実行できますが、スクリプトを実行すると同じエラーが表示されます。
代わりに[Poltergeist](https://github.com/teampoltergeist/poltergeist)を使用しているとお考えですか? –
@IlyaVassilevskyいいえ、私はまだPoltergeistを試していません。私はこのエラーが "ヘッド"を持っているクロムドライバーと何か関係があるのだろうか –
リンクされたSOの質問が私に聞こえるのは正確にあなたが打つ問題のようです –