Ruby(RSpec)で ChromeDriver を実行しようとしても見つからないとき(インストール方法)

前提

以下は Mac かつ Ruby 環境を rbenv で構築している場合として書いています。

基本

まずは ChromeDriver を落とします。バージョンは最新のでよいです*1

インストール

ダウンロードして展開したファイルである chromedriver をどこに置くかが問題となります。まず which してみます。

$ which chromedriver
/Users/HOGEHOGE/.rbenv/shims/chromedriver

上記の場所を調べると、シンボリックリンクではなく実体が置かれています。

したがって、ここに先ほど落としたファイルをコピーします。私はパスが通っているところならいいと思い、 /usr/local/bin に置いたのですが、優先的に /Users/HOGEHOGE/.rbenv/shims/chromedriver を実行しようとするのでうまくいきませんでした。

/Users/HOGEHOGE/.rbenv/shims/chromedriverchromedriver が存在せず他の場所(たとえば /usr/local/bin/chromedriver )に存在する場合はそのファイルを上書きします。

確認

chromedriver -v を実行してバージョン番号が返ってくれば OK です。

$ chromedriver -v
ChromeDriver 76.0.3809.68 (420c9498db8ce8fcd190a954d51297672c1515d5-refs/branch-heads/3809@{#864})

Dev や Canary を使っている場合の注意点

公式ドキュメント をよく読みましょう。2019/07/18 現在では以下のような記載があります。

If you are using Chrome from Dev or Canary channel, please download ChromeDriver 76.0.3809.68. This is not officially supported, but in most cases it should work without major issues.

したがって、spec/spec_helper.rb の中に以下の一行を追加しましょう。もちろんバージョンの数値は適宜追従します。

  Webdrivers::Chromedriver.required_version = '76.0.3809.68'

*1:Chrome も最新であるという前提

Powered by はてなブログ