SeleniumDriverのエラー(unable to connect to chromedriver 127.0.0.1:9515)
新年早々、seleniumでscrapeしようとしたら、タイトルのエラーとなった。
一般的な解決方法は
ググると結構見つかって、chromedriver-helper
をuninstallして homebrew で chromedriver
入れろとのこと。
現時点ではchromedriver
はhomebrewでは扱っていないため(homebrew caskにはある)以下からdownloadしてpathを通した場所に置いてやる。
Downloads - ChromeDriver - WebDriver for Chrome
しかし、chromedriver単体では動作するが、ruby経由では動作しない。
原因
chromedriver-helper
の古いバージョン(1.2.0)はchromedriver
を同梱していたようで、
rbenv環境だとshims以下にwrapperファイルが作られていた。
これがgemのuninstall時に消えていなかった。
$ which chromedriver /Users/rochefort/.anyenv/envs/rbenv/shims/chromedriver
とりあえず、こいつを消して解決。
shims以下のファイルとは?
rbenv側の問題にも思えるが、そもそもshimsとは何だろう?
ググってみると以下が詳しい。
rbenvコードリーディング
shimファイルとは各バージョン差異を埋めるためのファイルであり、rbenvの場合は、ruby・irb・gemなどのファイル名で作成されるシェルスクリプトになります。
なるほど、rbenv内のrubyから該当の実行ファイルが消えたかどうかを管理するのが面倒なので、削除はしていないのかも。