LoginSignup
0
1

More than 3 years have passed since last update.

everydayrailsで Selenium::WebDriver::Error::WebDriverError: がでた (geckodrive)

Last updated at Posted at 2020-03-31

macosです。

追記: すいません。この記事ではfirefoxを使えるようにしたのですが、chromeを使うべきだそうです。

「ドライバのダウンロード」

Unable to find Mozilla geckodriver. 
というエラー文が出ていたので、(実際に出たエラー文cpし忘れたのでこれじゃないかもしれませんがほぼこれです) geckodriver をダウンロードする。

ダウンロードは
https://github.com/mozilla/geckodriver/releases
このURLからした。

macos,linux,winなどいくつか種類があるので自分のPCにあったのを選ぶ。

「ドライバをPATHに置く」

とりあえず初心者でPATHの設定が初めてだったのでディレクトリをDesktopに作成し、そこにブラウザでダウンロードしたgeckodriveを入れといた。

実際にPATHを通す

ターミナルで一応
$ echo $PATH
でPATHを確認(しなくていいけど)すると

/いつも通り出てくるデフォルトのPATH/
になってる

$ export PATH=$PATH:/Users/ユーザー名/Desktop/geckodriverを入れたディレクトリ名
でPATHを追加

もう一回
$ echo $PATH
で確認してみると

/いつも通り出てくるデフォルトのPATH/Users/ユーザー名/Desktop/geckodriveを入れたディレクトリ名
になってた。

これでPATHは通せたと思います。(違ったらすいません)

bin/rspec spec/features/tasks_spec.rb でテストしてみる

Could not find Firefox binary (os=macosx).

Firefoxが見つからないというエラー

$ brew cask install --appdir="/Applications" firefox

でHomebrewからダウンロード

これで
$ bin/rspec spec/features/tasks_spec.rb
が成功しました

/usr/local/bin に保存する

上記の環境変数PATHを通すやり方では、ターミナルを消したときこの設定も消えてしまうので

/usr/local/bin という場所に保存する

/usr/local/bin
はユーザが追加のパッケージをインストールした場合の実行ファイルを保存する場所らしい。

デフォルトでは存在しないので /usr/local/bin をsudoコマンドを使い作る

sudo mkdir /usr/local/bin

使えるようにしたいファイルを作成したPATHへ移動させる

sudo mv 移動させたいファイル名 /usr/local/bin/新しいファイル名

保存できたか確認する

which 確認したいファイル名

出力結果は

/usr/local/bin/geckodriver

なので保存できた

ターミナルを一回消して bin/rspec spec/features/tasks_spec.rb

通ったのでとりあえずオッケー。

環境変数PATHに関しては
https://reffect.co.jp/windows/full_understanding_mac
を参考にしました。ありがとうございました。

間違っている箇所など見つけた場合コメントしていただけたら幸いです。

0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1