私はPythonでSeleniumを使用していて、このサイトから私のwindowsコンピュータ用のchromedriverをダウンロードしました: http://chromedriver.storage.googleapis.com/index.html?path=2.15/
Zipファイルをダウンロードした後、Zipファイルをダウンロードフォルダに解凍しました。それから実行可能バイナリ(C:\ Users\michael\Downloads\chromedriver_win32)へのパスを環境変数 "Path"に入れます。
しかし、私は次のコードを実行すると:
from Selenium import webdriver
driver = webdriver.Chrome()
...次のようなエラーメッセージが表示され続けます。
WebDriverException: Message: 'chromedriver' executable needs to be available in the path. Please look at http://docs.seleniumhq.org/download/#thirdPartyDrivers and read up at http://code.google.com/p/Selenium/wiki/ChromeDriver
しかし、上で説明したように、実行可能ファイルは(!)のパスにあります...ここで何が起こっているのでしょうか。
実際にPATHにあるかどうかをテストすることができます。cmdを開いてchromedriver
を入力して(あなたのchromedriver実行ファイルがまだこのように命名されていると仮定して)Enterを押すと。 Starting ChromeDriver 2.15.322448
が表示されている場合は、PATHが適切に設定されており、他に問題がある可能性があります。
あるいは、以下のようにクロームドライバーへの直接パスを使用することができます。
driver = webdriver.Chrome('/path/to/chromedriver')
だからあなたの特定のケースでは:
driver = webdriver.Chrome("C:/Users/michael/Downloads/chromedriver_win32/chromedriver.exe")
私は議論がバイナリをダウンロードして手動でパスを設定することによってchromedriverを設定する古い方法についてまだ話しているのを見る。
これは webdriver-manager を使って自動的に行えます。
pip install webdriver-manager
今問題の上記のコードは以下の変更で簡単に動作します、
from Selenium import webdriver
from webdriver_manager.chrome import ChromeDriverManager
driver = webdriver.Chrome(ChromeDriverManager().install())
Firefox、Edgeそしてバイナリの設定にも同じことができます
パス文字列を追加する必要があります。生の文字列の場合は、文字列の前にr
という文字で始めます。私はこの方法でテストしました、そしてそれはうまくいきます。
driver = webdriver.Chrome(r"C:/Users/michael/Downloads/chromedriver_win32/chromedriver.exe")
Pycharm community editionと同じ状況なので、cmdに関しては、パス変数をリロードするためにはideを再起動する必要があります。あなたのアイデアを再起動し、それは大丈夫なはずです。
クロームドライバーを解凍するときは、後で追跡できるように正確な場所を指定してください。以下では、あなたのOSに合った正しいドライバを入手し、それを正確な場所に解凍しています。これは後でコードとして引数として提供することができます。
wget http://chromedriver.storage.googleapis.com/2.10/chromedriver_linux64.Zip unzip chromedriver_linux64.Zip -d /home/virtualenv/python2.7.9/
あなたがロボットフレームワークRIDEで働いているならば。それから、あなたはその公式ウェブサイトからChromedriver.exe
をダウンロードして、この.exeファイルをC:\Python27\Scripts
ディレクトリに保存することができます。今、あなたの環境変数としてこのパスに言及してください。 C:\Python27\Scripts\chromedriver.exe
。
コンピュータを再起動して、同じテストケースをもう一度実行してください。二度とこの問題に遭遇することはないでしょう。
PATH環境でのいじりを避けるために、このスレッドの将来の読者のためのいくつかの追加の入力/説明。 Windowsレベルでの変数およびWindowsシステムの再起動:( https://stackoverflow.com/a/49851498/9083077 からの私の答えのコピー) Chromeに適用可能)
(1)chromedriverをダウンロードし(先のこのスレッドで説明したように)、(解凍した)chromedriver.exeをX:\ Folder\of\your\choiceに置きます。
(2)Pythonコードサンプル:
import os;
os.environ["PATH"] += os.pathsep + r'X:\Folder\of\your\choice';
from Selenium import webdriver;
browser = webdriver.Chrome();
browser.get('http://localhost:8000')
assert 'Django' in browser.title
注:(1)(参照されている答えの中の)サンプルコードが指定されたURLのFirefoxブラウザを開くのに約5秒かかるかもしれません。 (2)指定されたURLで起動しているサーバー、または文字列 'Django'を含むタイトルのページを提供しているサーバーが存在しない場合、Pythonコンソールは次のエラーを表示します。
私の場合、このエラーはchromedriverファイルをc:\ Windowsフォルダにコピーしたときに消えます。それはwindowsディレクトリがpythonスクリプトがchromedriverの可用性をチェックするパスにあるからです。
あなたと同じ問題に遭遇しました。私はプログラムを書くためにPyCharmを使用していますが、問題はOSではなくPyCharmの環境設定にあると思います。スクリプト構成に進み、環境変数のPATHを手動で編集することで問題を解決しました。これが役立つことを願っています!
最善の方法は、現在のディレクトリを取得し、残りのアドレスを追加することです。このコードのように(Windows上のWord。Linuxでは、pwdという行を使用できます):webdriveraddress = str(os.popen("cd").read().replace("\n", ''))+'\path\to\webdriver'
Chromedriver.exeをダウンロードしたとき、PATHフォルダーC:\ Windows\System32\chromedriver.exeに移動しただけで、まったく同じ問題が発生しました。
私にとっての解決策は、PATH内のフォルダーを変更することでしたので、PATH内にあるPycharm Community binフォルダーに移動しました。例:
リモートインタプリタを使用している場合は、その実行可能ファイルPATHが定義されているかどうかも確認する必要があります。私の場合、リモートのDockerインタプリタからローカルのインタプリタに切り替えることで問題は解決しました。
クロムドライバのパスを確認してください、それはそこからそれを取得できない場合があります。単にコピーしてドライバの場所をコードに貼り付けます。
の指示 に従って、webdriver.Chromeをインスタンス化するときにChromeDriverへのパスを含める必要があります。
driver = webdriver.Chrome('/path/to/chromedriver')
PATHが正しく設定されていることを確認した後でコンピュータが動作しない場合は、コンピュータを再起動してください。
私の窓7の場合、私はいつもWebDriverException:Error:のためにエラーを得ました:chromedriver、gecodriver、IEDriverServerのために。私は私が正しいパスを持っていることをかなり確信しています。コンピュータを再起動、すべての作業
あなたのパスにクロドライバーを追加する前に、それがあなたのブラウザと同じバージョンであることを確認してください。
そうでない場合は、バージョンを一致させる必要があります。Chromeをアップデート/ダウングレードし、Webドライバをアップグレード/ダウングレードします。
私はあなたのクロムバージョンをできるだけアップデートし、そしてウェブドライバーに合わせることをお勧めします。
クロムを更新するには:
help
- > About Google Chrome
をクリックそれからここから互換バージョンをダウンロードしてください。 http://chromedriver.chromium.org/downloads 。
注意:最新のクロームドライバーは、最新バージョンのchromeと必ずしも一致しません。
これでPATHに追加できます。
あなたのWebドライバを置くあなたのコンピュータのどこかに新しいフォルダを作成してください。 C:\Program Files
にwebdrivers
という名前のフォルダーを作成しました
フォルダパスをコピーします。私の場合はC:\Program Files\webdrivers
でした
this PC
- > properties
を右クリック:
Advanced System settings
Environment Variables
をクリックSystem variables
でpath
をクリックしてedit
をクリックしますnew
をクリックそれでおしまい!私はpycharmを使用しました、そしてそれを再び開く必要がありました。他のIDEや端末でも同じかもしれません。
ここにwebdriver(chromedriver.exeまたはgeckodriver.exe)をC:\ Windowsに追加します。これは私の場合はうまくいきました