質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.35%
Ruby

Rubyはプログラミング言語のひとつで、オープンソース、オブジェクト指向のプログラミング開発に対応しています。

selenium

Selenium(セレニウム)は、ブラウザをプログラムで作動させるフレームワークです。この原理を使うことにより、ブラウザのユーザーテストなどを自動化にすることができます。

Q&A

解決済

2回答

1761閲覧

RubyでSeleniumが使えない。Chromeのバージョンの問題らしいが、 どこのChromeDriverを参照しているかがわからない

annaPanda

総合スコア130

Ruby

Rubyはプログラミング言語のひとつで、オープンソース、オブジェクト指向のプログラミング開発に対応しています。

selenium

Selenium(セレニウム)は、ブラウザをプログラムで作動させるフレームワークです。この原理を使うことにより、ブラウザのユーザーテストなどを自動化にすることができます。

0グッド

0クリップ

投稿2020/08/25 00:24

久しぶりにスクレイピングをしようと思って、

$ ruby selenium.rb
すると

Traceback (most recent call last): 33: from selenium.rb:38:in `<main>' 32: from /Users/handaryouhei/.rbenv/versions/2.5.1/lib/ruby/gems/2.5.0/gems/selenium-webdriver-3.142.7/lib/selenium/webdriver.rb:88:in `for' 31: from /Users/handaryouhei/.rbenv/versions/2.5.1/lib/ruby/gems/2.5.0/gems/selenium-webdriver-3.142.7/lib/selenium/webdriver/common/driver.rb:46:in `for' 30: from /Users/handaryouhei/.rbenv/versions/2.5.1/lib/ruby/gems/2.5.0/gems/selenium-webdriver-3.142.7/lib/selenium/webdriver/common/driver.rb:46:in `new' 29: from /Users/handaryouhei/.rbenv/versions/2.5.1/lib/ruby/gems/2.5.0/gems/selenium-webdriver-3.142.7/lib/selenium/webdriver/chrome/driver.rb:43:in `initialize' 28: from /Users/handaryouhei/.rbenv/versions/2.5.1/lib/ruby/gems/2.5.0/gems/selenium-webdriver-3.142.7/lib/selenium/webdriver/remote/bridge.rb:56:in `handshake' 27: from /Users/handaryouhei/.rbenv/versions/2.5.1/lib/ruby/gems/2.5.0/gems/selenium-webdriver-3.142.7/lib/selenium/webdriver/remote/bridge.rb:102:in `create_session' 26: from /Users/handaryouhei/.rbenv/versions/2.5.1/lib/ruby/gems/2.5.0/gems/selenium-webdriver-3.142.7/lib/selenium/webdriver/remote/bridge.rb:167:in `execute' 25: from /Users/handaryouhei/.rbenv/versions/2.5.1/lib/ruby/gems/2.5.0/gems/selenium-webdriver-3.142.7/lib/selenium/webdriver/remote/http/common.rb:64:in `call' 24: from /Users/handaryouhei/.rbenv/versions/2.5.1/lib/ruby/gems/2.5.0/gems/selenium-webdriver-3.142.7/lib/selenium/webdriver/remote/http/default.rb:114:in `request' 23: from /Users/handaryouhei/.rbenv/versions/2.5.1/lib/ruby/gems/2.5.0/gems/selenium-webdriver-3.142.7/lib/selenium/webdriver/remote/http/common.rb:88:in `create_response' 22: from /Users/handaryouhei/.rbenv/versions/2.5.1/lib/ruby/gems/2.5.0/gems/selenium-webdriver-3.142.7/lib/selenium/webdriver/remote/http/common.rb:88:in `new' 21: from /Users/handaryouhei/.rbenv/versions/2.5.1/lib/ruby/gems/2.5.0/gems/selenium-webdriver-3.142.7/lib/selenium/webdriver/remote/response.rb:34:in `initialize' 20: from /Users/handaryouhei/.rbenv/versions/2.5.1/lib/ruby/gems/2.5.0/gems/selenium-webdriver-3.142.7/lib/selenium/webdriver/remote/response.rb:72:in `assert_ok' 19: from 19 libsystem_pthread.dylib 0x00007fff71e9a40d thread_start + 13 18: from 18 libsystem_pthread.dylib 0x00007fff71e9e249 _pthread_start + 66 17: from 17 libsystem_pthread.dylib 0x00007fff71e9b2eb _pthread_body + 126 16: from 16 chromedriver 0x0000000104e40fc7 chromedriver + 3841991 15: from 15 chromedriver 0x0000000104e1ffe4 chromedriver + 3706852 14: from 14 chromedriver 0x0000000104df0e17 chromedriver + 3513879 13: from 13 chromedriver 0x0000000104e0a692 chromedriver + 3618450 12: from 12 chromedriver 0x0000000104ddc699 chromedriver + 3430041 11: from 11 chromedriver 0x0000000104e09bf7 chromedriver + 3615735 10: from 10 chromedriver 0x0000000104e09e3a chromedriver + 3616314 9: from 9 chromedriver 0x0000000104dfcf6f chromedriver + 3563375 8: from 8 chromedriver 0x0000000104ab2ba5 chromedriver + 113573 7: from 7 chromedriver 0x0000000104ab1c0d chromedriver + 109581 6: from 6 chromedriver 0x0000000104ad7fa3 chromedriver + 266147 5: from 5 chromedriver 0x0000000104adb018 chromedriver + 278552 4: from 4 chromedriver 0x0000000104aabb00 chromedriver + 84736 3: from 3 chromedriver 0x0000000104aafdd2 chromedriver + 101842 2: from 2 chromedriver 0x0000000104b4f8bf chromedriver + 755903 1: from 1 chromedriver 0x0000000104dcef33 chromedriver + 3374899 0 chromedriver 0x0000000104e3ae29 chromedriver + 3817001: session not created: This version of ChromeDriver only supports Chrome version 79 (Selenium::WebDriver::Error::SessionNotCreatedError) annaPanda:selenium handaryouhei$

このようになります。
ChromeDriverがChromeのバージョンに合っていないのだと思い、とりあえず今のChromeDriverを削除しようと思いました。

which chromedriver
すると
/Users/xxxxxxxxxxxx/.rbenv/shims/chromedriver
とでたので、これを削除しました。
ネット記事で/usr/local/binにたいてい置いているよと書いてあったのでみたら、こっちにもあったので削除しました。
ここで$ ruby selenium.rbをすると ChromeDriverがない、という内容のエラーが出ることを期待していたのですが、上記と全く同じエラーが出ました。
chromedriverの別バージョンを入れたりしても結果は同じで、そもそも見に行っているChromeDriverの場所が想定しているのと違う場所であると予想していますが、これを確認する方法はございますでしょうか?
どうぞよろしくお願いいたします。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

自己解決

gemのchromedriver-helperというのも入っていたのでこれを消して普通にchromedriverをダウンロードして配置したらうまく行きました。

投稿2020/08/25 23:26

annaPanda

総合スコア130

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

プログラムを見ないと何とも言えませんが、プログラムで明示的にChromedriverのパスを指定していない限り、PATHの通ったところを見ますので、which chromedriverが何も返さなくなるまでそれを削除します。

投稿2020/08/25 01:58

otn

総合スコア85901

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

annaPanda

2020/08/25 02:41

回答ありがとうございます。 ですが、`which chromedriver`はもう何も返さないんですよね。。。
otn

2020/08/25 06:27

プログラム内では指定してないんですか?
annaPanda

2020/08/25 07:15

上記エラー文の 20: from のファイルは ``` 63 def add_backtrace(ex) 64 return unless error_payload.is_a?(Hash) 65 # Legacy Firefox returns String in ['value'], while we expect Hash. 66 # Use #dig when Firefox legacy is removed (4.0). 67 server_trace = error_payload[STACKTRACE_KEY] || 68 error_payload[STACKTRACE_KEY.downcase] || 69 (error_payload['value'] && error_payload['value'][STACKTRACE_KEY]) 70 return unless server_trace 71 backtrace = case server_trace 72 when Array 73 backtrace_from_remote(server_trace) 74 when String 75 server_trace.split("\n") 76 end 77 ex.set_backtrace(backtrace + ex.backtrace) 78 end ``` と出てまして 19: from 以下はどのように見ればいいかわかりません。。
otn

2020/08/25 07:32 編集

↑なんですかこれは?? で、プログラム内では明示的にChromedriverのパスを指定してないんですか?
annaPanda

2020/08/25 10:54

私自身は指定していません。
otn

2020/08/25 14:38

どこかでPATHに追加されてるんですかね。 プログラム内で、system("which chromedriver")しても見つかりませんか?
annaPanda

2020/08/25 23:25

gemのchromedriver-helperというのも入っていたのでこれを消して普通にchromedriverをダウンロードして配置したらうまく行きました。otnさん本当にありがとうございました。
otn

2020/08/26 01:38

最初からプログラムを書いておいてもらえば一発でした。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.35%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問