Watirを使う際にChromeDriverを自動的にインストールさせるrubygem webdrivers

自動化したいよね

ChromeDriver は Chrome のバージョンと合わせておく必要があり、合わないとエラーが出ます。しかし Chrome はしょっちゅう更新されていきますし、しかもタイミングによっては(なぜか)ChromeDriver のほうが先に更新されてしまって結果としてバージョンずれが生じてしまうこともあります。ChromeDriver を使いたいときは SeleniumWatir などで自動ブラウジングがしたいのであって、ChromeDriver のバージョンなどという些末な問題にとらわれて時間が取られるなんてイヤですよね。

(以前に ChromeDriver を手動で入れたときの記事:WatirでHeadless Chromeを使うまでのメモ - 別館 子子子子子子(ねこのここねこ)はてブロ部 つまり Homebrew で入れてました。)

Chrome に合った ChromeDriver を自動的にインストールさせる rubygem として chromedriver-helper gem があったのですが、2019年3月末で期限切れになり、別の gem である webdrivers gem が新しく提供されています。

webdrivers gem の紹介記事:サポートが終了したchromedriver-helperからwebdrivers gemに移行する手順 - Qiita

使い方

Watir 利用時の webdrivers gem の使い方ですが、Gemfile を使っている場合には

gem "webdrivers"
gem 'watir'

そしてスクリプト本体で

require 'webdrivers/chromedriver'
require 'watir'

と宣言しましょう。require 'webdrivers/chromedriver' なのは、この gem が ChromeDriver 以外もインストールできるためです。しかし他のドライバを入れる必要は無いので ChromeDriver に限定しておきましょう。

なお heroku で headless Chrome と共に使う場合には Heroku buildpack google chrome の手順を確認しましょう。

Watir関係記事