2017-06-16 9 views
1

私はウェブページの完全な内容を保存するスクリプトを書いています。 urllib2とbs4を使用しようとすると、ページ内の検索までナビゲートした後で、ログオンページの内容とコンテンツが書き込まれません。しかし、検索結果ページでCtrl + Sを押すと、htmlファイルがディスクに保存され、テキストエディタで開くと検索結果の内容がすべて表示されます。メッセージ: 'geckodriver'実行ファイルはPATHに入れる必要がありますが、すでにそれはありますか?

私は、件名に、ここでいくつかの記事を読んだし、このいずれかの手順を使用しようとしています:

How to save "complete webpage" not just basic html using Python

しかし、geckodriverをインストールすると、SYSパス変数を設定した後、私はエラーを取得し続けます。ここに私の限られたコードは次のとおりです。ここで

from selenium import webdriver 
>>> from selenium.webdriver.common.action_chains import ActionChains 
>>> from selenium.webdriver.common.keys import Keys 
>>> br = webdriver.Firefox() 

は誤りです:私はSYSパス変数を設定する場所

Traceback (most recent call last): 
    File "<interactive input>", line 1, in <module> 
    File "C:\Python27\lib\site-packages\selenium\webdriver\firefox\webdriver.py", line 142, in __init__ 
    self.service.start() 
    File "C:\Python27\lib\site-packages\selenium\webdriver\common\service.py", line 81, in start 
    os.path.basename(self.path), self.start_error_message) 
WebDriverException: Message: 'geckodriver' executable needs to be in PATH. 

そして、ここでは、次のとおりです。

enter image description here

私が後に再起動しましたsysパス変数を設定します。

UPDATE:

私は今、これはもっとまっすぐ進むように見えたとしてchromdriverを使用しようとしています。私は、chromedriverのダウンロードページから)窓のラップトップ上でhromedriver_win32.zip II'mをダウンロードするenvironmetal変数のパスを設定します。 C:\ Python27 \ Libの\サイト - パッケージ\セレン\ webdriverをの\クローム\のchromedriver.exe

あなたはセレンは、Firefoxを見つけて、デフォルトから起動しようとしている間、あなたはおそらくFirefoxのにいくつかの他の場所にインストールされている 、手動でシステム変数へのFirefoxのパスを追加することも必要があり

>>> br = webdriver.Chrome() 
Traceback (most recent call last): 
    File "<interactive input>", line 1, in <module> 
    File "C:\Python27\lib\site-packages\selenium\webdriver\chrome\webdriver.py", line 62, in __init__ 
    self.service.start() 
    File "C:\Python27\lib\site-packages\selenium\webdriver\common\service.py", line 81, in start 
    os.path.basename(self.path), self.start_error_message) 
WebDriverException: Message: 'chromedriver' executable needs to be in PATH. Please see https://sites.google.com/a/chromium.org/chromedriver/home 

答えて

0

:しかし、同様の次のエラーを取得しています場所は見つかりませんでした。あなたは明示的にfirefoxインストールされたバイナリの場所を提供する必要があります:

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) 
browser = webdriver.Firefox() 
+0

@DLまだ同じメッセージが表示されます。設定 - >環境 - >環境変数 - > C:\ Python27 \ selenium \ webdriver \ firefox \ geckodriver-v0.17.0-win64 \ geckodriver.exeとC:\ Program Files(x86)\ Mozillaにパスを追加します。 Firefox \ firefox.exe – ShaunO

+0

@ShaunOそれは大丈夫ですが、Firefoxのバイナリへのパスはどこですか?あなたはfirefoxがどこにインストールされているかを検索し、そのための変数を作る必要があります:)。例えば、それを見てくださいhttps://stackoverflow.com/questions/40208051/selenium-using-python-geckodriver-executable-needs-to-be-in-path –

+0

@ShaunOもこの男を見て、似ているhttps://github.com/mozilla/geckodriver/issues/90 –

関連する問題