【Rails】Selenium::WebDriver::Error::WebDriverError: unable to connect to /usr/local/bin/chromedriver 1…

【Rails】Selenium::WebDriver::Error::WebDriverError: unable to connect to /usr/local/bin/chromedriver 1… RubyOnRails
【Rails】Selenium::WebDriver::Error::WebDriverError: unable to connect to /usr/local/bin/chromedriver 1…

Rspecを実行した時に以下の様なエラーが出た際の対処方法です。

Selenium::WebDriver::Error::WebDriverError:
  unable to connect to /usr/local/bin/chromedriver 127.0.0.1:9515

エラーの詳細

こちらのエラーは、ローカル環境で使用しているChromeとChromeDriverのバージョンが一致しない場合に起こります。ですので基本的にここを一致させてあげれば解決すると思われます。

解決方法

先に解決方法をご紹介しておきます。他にも調べてみるといろいろな方法が載っていたり、躓きポイントがあったりしますので、そちらは後ほどご紹介します。

HomebrewでChromeDriverを入れている場合はupgradeでいけます。

$ brew upgrade chromedriver

もしくは https://googlechromelabs.github.io/chrome-for-testing/ こちらのページから該当のものをダウンロードして、ローカルに展開する方法でも大丈夫かと思われますが、こちらの方は試していないためページをご紹介するにとどめておきます。

その他

開発元が未確認のため開けません

ChromeDriverアップデート後、Rspecを実行しようとしてこのようなポップアップが表示された場合には、システム設定から実行を許可してあげてください。

🍎→システム設定→プライバシーとセキュリティ→ダウンロードしたアプリケーションの実行許可

上記の中にchromedriveの開発元が確認できずブロックされた旨のメッセージがありますので、そちらの「このまま開く」をクリックしてください。

こちらの記事を参考にさせていただきました
https://teshi-learn.com/2021-08/macにchormedriverを設定する(chromedriverは、開発元が未確認の/

selenium-webdriverのアップデート

調べていると gem selenium-webdrivergem capybaraのアップデートで解消するという記事も見かけます。私は以前はこの方法でもうまくいきましたが、今回はアプデできない状況でしたのでこちらは採用しませんでした。

アプデが可能であればこちらも参考にされると良いかと思います。https://qiita.com/jnchito/items/f994dd3ac2cdc39bff8c

公式ダウンロードページに欲しいバージョンがない

現在公式の https://chromedriver.chromium.org/downloads こちらのダウンロードサイトにはv115以降が掲載されていません。

こちらの記事を参考にさせていただきました。
https://voicetechno-jp.secure-web.jp/ChromeDriverV115orNewer.html

まとめ

エラーの内容としましてはChromeとChromeDriverのバージョン不一致ですので、そちらを解消する方法を探しました。

Gemはどうせアプデしていくのでseleniumをアプデすることで解消できれば楽ですが、Chrome自体がしょっちゅうアプデするのでChromeDriverもどのみち更新していくことが必要でしょうから、定期的にやっても良いかもしれません。

コメント

タイトルとURLをコピーしました