2017-10-19 10 views
1

次のスクリプトを実行してthisウェブサイトにアクセスし、csvをエクスポートするリンクをクリックしようとしています。Pythonでボタンスクリプトをクリック

from selenium import webdriver 
driver=webdriver.Firefox() 
driver.get("https://www.draftkings.com/contest/gamecenter/46877680") 
elem1 = driver.find_element_by_link_text("Export Lineups to CSV") 
elem1.click() 

次のエラーが発生し、geckodriverが見つかりません。私はセレンをインストールpip。私は古いビデオからこれを得て、現在はPython 3.6を実行しているので、おそらく問題の一部でもあります。どこが間違っていますか?上記の例外の取り扱い中

Traceback (most recent call last): File "C:\Program Files\Python36\lib\site-packages\selenium\webdriver\common\service.py", line 74, in start stdout=self.log_file, stderr=self.log_file) File "C:\Program Files\Python36\lib\subprocess.py", line 707, in init restore_signals, start_new_session) File "C:\Program Files\Python36\lib\subprocess.py", line 992, in _execute_child startupinfo) FileNotFoundError: [WinError 2] The system cannot find the file specified

、別の例外が発生しました:

Traceback (most recent call last): File "C:/Users/mike/Desktop/Lineup1.py", line 2, in driver=webdriver.Firefox() File "C:\Program Files\Python36\lib\site-packages\selenium\webdriver\firefox\webdriver.py", line 144, in init self.service.start() File "C:\Program Files\Python36\lib\site-packages\selenium\webdriver\common\service.py", line 81, in start os.path.basename(self.path), self.start_error_message) selenium.common.exceptions.WebDriverException: Message: 'geckodriver' executable needs to be in PATH.

+0

あなたが理解していないエラーメッセージが表示されたときにまず行うべきことは、Googleにそれを行うことです。それは、一般的に、少なくともあなたが始めることができる答えを見つけるでしょう。 – JeffC

+0

これは、私がオーバーフロージェフをスタックする方法です。 –

答えて

-1

を実際に、セレンクライアントバインディングは、システムのPATHからgeckodriver実行ファイルを検索してみてください。実行可能ファイルを含むディレクトリをシステムパスに追加する必要があります。あなたはbashの互換シェル使用している場合は、システムの検索パスに追加する次の操作を行うことができUnixシステム :Windowsでは

export PATH=$PATH:/path/to/directory/of/executable/downloaded/in/previous/step 

を、あなたは追加するPathシステム変数を更新する必要があります実行可能なgeckodriverへの完全なディレクトリパスを手動またはコマンドライン(実行可能なgeckodriverをシステムPATHに追加してから、システムを再起動することを忘れないでください)。原則はUnixと同じです。

し、次の

from selenium import webdriver 
from selenium.webdriver.firefox.firefox_binary import FirefoxBinary 

binary = FirefoxBinary('path/to/installed firefox binary') 
browser = webdriver.Firefox(firefox_binary=binary) 

参考文献、

https://github.com/mozilla/geckodriver/releases

https://developer.mozilla.org/en-US/docs/Mozilla/QA/Marionette/WebDriver

+0

私はこの以前のNeelを見つけた、応答していただきありがとうございます。実行可能なgeckodriverを手動またはコマンドラインに完全なディレクトリパスを追加するためにPathシステム変数を更新する方法がわかりません(実行可能なgeckodriverをシステムPATHに追加してから、システムを再起動することを忘れないでください)。 –

+0

私はhttps://github.com/mozilla/geckodriver/releasesに行き、gecko.exeをダウンロードしました。ファイルパスに入っていることはどういう意味ですか?私は現在、私のデスクトップ上にlineup.pyスクリプトを持っているだけです。 –

+0

大丈夫です。私は毎回ログインする必要があります。それは別の頭痛になるだろうが、少なくともそれは開く。もう一つは、私はリンクをクリックして私が要求しているとは思わないです。 –

1

geckodriverとドラッグをダウンロードし、プロジェクトにgeckodriver.exeファイルをドロップを使用してみてくださいルートフォルダ。このようにして、コードにgeckodriverパスを追加してコードを再度実行する必要はありません。エラーはありません

関連する問題