2017-07-05 15 views
1

OS X El CapitanEclipse (Neo) and Pythonを使用しています。私はSeleniumスクリプトでPythonを書きました。メッセージ: 'chromedriver'実行ファイルがPATHにある必要があります

これらのスクリプトはうまくいきました。

は、その後、私はOSX Sierra

El Capitanへの注意からアップグレード:
これは私が私のセットアップにしただけで大きな変化 についてです。 chromedriver実行可能

は、私の知る限り伝えることができchromedriverはされているパスにする必要があります:私は今、同じスクリプトを実行しようとしたとき

は、私が

メッセージを取得します私のPATHに。

クロムドライバへのパスがhard copyである場合にのみスクリプトを動作させることができるようになりましたが、これはわかりやすい方法ではありません。

他に誰かがこの問題を抱えていますか?私のEclipse + Pythonの設定について考えてみましょう。

My Eclipse and Python project screen shot

my PYTHONPATH screen shot

答えて

0

私は、Pythonを知ってはいけません。しかし、webdriverの実装は、言語に関係なく同じでなければなりません。ここであなたはchrome webdriverを呼び出しましたが、chromedriver.exeのパスをコードで定義しましたか?たとえば、javaの場合は次のようになります

System.setProperty("webdriver.chrome.driver", "C:\\selenium-java-3.4.0/chromedriver.exe"); 
driver = new ChromeDriver(); 

エラーはpython環境ではなくchromedriver.exeを参照しています。 Googleのドキュメントから

Pythonのソリューション:すべての

import time 
from selenium import webdriver 

driver = webdriver.Chrome('/path/to/chromedriver') # Optional argument, if not specified will search path. 
driver.get('http://www.google.com/xhtml'); 
time.sleep(5) # Let the user actually see something! 
search_box = driver.find_element_by_name('q') 
search_box.send_keys('ChromeDriver') 
search_box.submit() 
time.sleep(5) # Let the user actually see something! 
driver.quit() 
0

まずあなたがchromedriverでコマンドプロンプトと種類を開き、Enterキーを押した場合、あなたのドライバのパスを確認します。 「Starting ChromeDriver 2.15.322448 ..」というメッセージが表示された場合は、パスが正しく設定されています。
Pythonでは、代替ソリューションを使用できます
driver = webdriver.Chrome("path_to_driver/chromedriver.exe")
これがうまくいきますように!

+0

ありがとうDhruv !!!私はこれらのチェックと解決策を見たと思います。 そして実際に私のOS /システムのPATHは正しく設定されています。なぜなら、ターミナルで "chromedriver"とタイプすると、あなたが言ったように起動します。 あなたの提案したように、パスの「ハードコピー」を行うという私の元の質問にも言及したように、やはり動作します。 しかし、これは私のchromeriverがインストールされていたディレクトリを含めるために上記のスクリーンショットに示されているようにPYTHONPATHを設定していましたが、私はPATHを見るためにEclipseを設定できないように思えます。 –

+0

私はMac OSのディレクトリについては考えていないが、ウィンドウには**のようなchromeriverが追加されている。exe '**を' C:\ Python27 \ Scripts '(あなたのケースを参照してそれに応じて変更してください)し、ドライバのパスを指定する必要はありません。' driver = webdriver.Chrome() ' –

関連する問題