今回は、インストールしたchromedriverの場所を確認する方法を解説します。
- chromedriverの実体がどこにあるのか分からなくなった・・・
- chromedriverが複数あって整理したいけど、どれを消していいのか分からない
なんてこと、ありませんか?私は何度も経験あります。
seleniumを使って、しばらく使わないでいて、また使うことになって、新しく環境入れて・・・を繰り返し、沢山の環境が出来上がり、いざ動かそうとしたときに「一体どれが動いているんだ!!!」という事態になったことが何度も・・・いや、seleniumの作業をするたびに経験しているような。
そこで、状況別にchromedriverの場所を特定する方法をまとめました。どなたかの役に立てばうれしいです。
パスを通したchromedriverを探す方法
chromedriverのパスを通してある場合は、以下コマンドを実行します。
(パスを通したか分からない場合は次項の方法をご参照ください)
where chromedriver
コマンドを実行すると、ブラウザの起動に使用しているchromedriverの場所が表示されます。
パス設定を確認したい場合
コマンドプロンプトで、以下のコマンドを実行します。
path
設定されているパスが表示されます。chromedriverで実行する場合、パスが通っている場所のchromedriver.exeが起動します。
パスを変更したい場合
Windowsアイコンを押下し、右下にある設定(歯車アイコン)を押下
左側メニューから「システム」を押下し、一番下の「バージョン情報」を選択
「システムの詳細設定」を選択
以下のような画面が出てきますので、「環境変数」を押します。
上段、下段どちらにも環境変数と出ていますが、現在ログインしているユーザーのみパスを通したい場合は上段、すべてのユーザーに適用させたい場合は下段を設定します。今回は下段のパスを編集します。
「Path」を選択した状態で「編集」を押します。
編集する場合は対象のパス上でダブルクリックするか、「編集」を押します。
削除する場合は、カーソルが当たった状態で「削除」を押します。(確認ダイアログなしでいきなり削除されるので注意)
パスを通したか分からないor通してないとき
パスを通さず、実行時に明示的にchromedriverのパスを指定している場合はこちらの方法になります。
※以下のようにchromedriverのパスを引数に設定している場合です
driver = webdriver.Chrome('C:\test\chromedriver')
WHERE /R c:\ chromedriver.exe
上記ではCドライブで検索していますが、ご自身の環境に合わせて適宜変更してください。
で、この検索でひとつに絞れたらそれが動いていると分かるんですが、、、
このように、複数のchromedriver.exeが見つかる場合もあります。プログラムを実行しているディレクトリに格納されている場合はそれが動いているかもしれませんし、パスを通していたらそっちが動いているかも。でも、一つひとつ確認していくのは手間です。
そこで、実際にブラウザを起動させて、動かしているchomedriver.exeを特定する手順を以降に記載します。
どのドライバが動いているか分からなくなってしまった場合
テストや動作確認などで、様々なバージョンのドライバーをダウンロードすることがあるかと思います。しかし、それらを使用後も整理せずにいると、どのドライバーで動いているのか分からなくなってしまうことがあります。
↓こんなかんじ・・・
全てパスを通してあったら、もはや自分でどれが動いているのか判断することはできません。
chromedriverでブラウザを起動する
どのドライバを見て起動しているのか分からなくなってしまった場合は、chromedriverでブラウザを立ち上げて、そこから実行ファイルの場所をたどります。
以下のソースコードを実行します。
from selenium import webdriver
import time
# ブラウザを起動
driver = webdriver.Chrome()
# Googleを開く
driver.get('https://www.google.com/?hl=ja')
# 300秒待機
time.sleep(300)
# ブラウザを閉じる
driver.quit()
detachオプションをつけることでプログラム終了後もブラウザを開いたままにできますが、環境によってはすぐ閉じてしまうようなのでsleepで300秒待つ内容にしています。
タスクマネージャーから実行ファイル元をたどる
ブラウザを起動したら、タスクマネージャーを開きます。
検索から「タスク」と入れて出てきたものを選択するか、Ctrl + Shift +Esc を押して開きます。
「詳細」タブを押し、chromedriver.exe上で右クリック>ファイルの場所を開く を押します。
起動しているchromedriver.exeのある場所が開きます。
これで、起動しているchromedriver.exeを特定することができました。
まとめ
今回は、インストールしたchromedriverの場所を確認する方法について解説しました。
古い環境をそのままにしていたり、テスト等で複数の環境を作っている場合、どれが起動しているのか分からなくなってしまうことがあると思います。使わなくなったドライバーは削除or特定のフォルダに保管するなど、適切に管理すべきだなと感じました。
管理が面倒という場合は、「chromedriver-binary」を使うとプログラム実行時に自動でパスを通してくれるので、こちらの利用も検討してみてください。以下記事にて解説しています。
コメント