実行しようとするとこのようなエラーが出ます。
in assert_ok: unknown error: cannot find Chrome binary (Selenium::WebDriver::Error::UnknownError)
色々調べたのですが、chromeとchromediveloperのバージョンの違いやファイルの置く場所がどうのこうのと、いまいち理解できませんでした。
どのようにすればエラーが解消されますでしょうか?よろしくお願いいたします(>人<;)
気になる質問をクリップする
クリップした質問は、後からいつでもMYページで確認できます。
またクリップした質問に回答があった際、通知やメールを受け取ることができます。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
回答2件
0
ベストアンサー
mac ということなので... 推測も含めて...
ChromeDriver - WebDriver for Chrome にパスの指定方法に関して、
Path to the Chrome executable to use (on Mac OS X, this should be the actual binary, not just the app. e.g., '/Applications/Google Chrome.app/Contents/MacOS/Google Chrome')
とありますが...
(2018-09-25 11:45追記)
ドキュメントを読んだ感じでは、パスの指定が必要かと思ったのですが、macOS で実際に試してみたらオプションでバイナリーパスを設定しなくても動作するようです。
Chrome が、/Applications/Google Chrome.app
にあり http://chromedriver.storage.googleapis.com/index.html?path=2.42/
からダウンロードした chromedriver
を パスが通った場所にコピーしておいて、
require "selenium-webdriver" driver = Selenium::WebDriver.for :chrome driver.get("https://www.google.com") puts driver.title
だけで問題なく動作して、ページタイトルが取れました。
また、コメントに書かれていたソースコードで、下記の Webdriver 部分だけを実行してみるとエラーは出ませんでしたので、環境構築の問題のように思えます。
require "selenium-webdriver" driver = Selenium::WebDriver.for :chrome driver.navigate.to 'https://www.justwatch.com/jp/検索?q=あああ' wait = Selenium::WebDriver::Wait.new(timeout: 300) wait.until { driver.find_element(xpath: '//div[2]/filter-bar/div[2]/div[2]/div[3]/div[2]/div') }
which chromedriver
で、 chromedriver は、見つかる場所にありますか?
まずは、簡単な動作からテストして、動くのを確認してから本来のプログラムを書く方が良いと思いますので、上記の"Google" のタイトルを取得するプログラムを動かしてみてください。
投稿2018/09/24 15:15
編集2018/09/25 02:51総合スコア25171
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/09/25 00:40
2018/09/25 00:41
0
お使いのPCにChromeがインストールされていることが前提です。
Windowsの場合は以下の記事を見て環境を構築してください。
Rubyとselenium-webdriverのインストールが完了してる場合は
以下の記事の「Chrome Driverの設置」からでOKだと思います
以下の記事の通りに環境を構築しても、同様のエラーが発生する場合は
原因が一般的なものではない可能性があり対応が難しいと思われます。
投稿2018/09/24 10:02
退会済みユーザー
総合スコア0
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
あなたの回答
tips
太字
斜体
打ち消し線
見出し
引用テキストの挿入
コードの挿入
リンクの挿入
リストの挿入
番号リストの挿入
表の挿入
水平線の挿入
プレビュー
質問の解決につながる回答をしましょう。 サンプルコードなど、より具体的な説明があると質問者の理解の助けになります。 また、読む側のことを考えた、分かりやすい文章を心がけましょう。