2016-11-20 13 views
2

JavaScriptコードを使用していくつかのWebサイトを処理するためにセレンを使用しようとしています。まず、以下のような簡単な例を使用します。Python Seleniumエラーの解決方法

from selenium import webdriver 

browser = webdriver.Firefox() 

browser.get('http://www.yahoo.com') 

browser.quit() 

これはうまくいかないのですが。エラーmsgは次のように表示されます。私はセレンなどで何かを逃したかもしれないと思う。あなたは私にこれについていくつか光をあげてもらえますか?

Traceback (most recent call last): 
    File "/home/rnie/webdriver-tutorial-1x.py", line 3, in <module> 
    browser = webdriver.Firefox() 
    File "/usr/lib/python3.5/site-packages/selenium/webdriver/firefox/webdriver.py", line 145, in __init__ 
    keep_alive=True) 
    File "/usr/lib/python3.5/site-packages/selenium/webdriver/remote/webdriver.py", line 92, in __init__ 
    self.start_session(desired_capabilities, browser_profile) 
    File "/usr/lib/python3.5/site-packages/selenium/webdriver/remote/webdriver.py", line 179, in start_session 
    response = self.execute(Command.NEW_SESSION, capabilities) 
    File "/usr/lib/python3.5/site-packages/selenium/webdriver/remote/webdriver.py", line 236, in execute 
    self.error_handler.check_response(response) 
    File "/usr/lib/python3.5/site-packages/selenium/webdriver/remote/errorhandler.py", line 192, in check_response 
    raise exception_class(message, screen, stacktrace) 
selenium.common.exceptions.WebDriverException: Message: connection refused 

私は"geckodriver.log"をチェックし、それはエラーメッセージを次示しています

1479623778556 geckodriver INFO Listening on 127.0.0.1:49723 
1479623778625 mozprofile::profile INFO Using profile path /tmp/rust_mozprofile.WMDGNONHQTud 
1479623778628 geckodriver::marionette INFO Starting browser /usr/bin/firefox 
1479623778641 geckodriver::marionette INFO Connecting to Marionette on localhost:35691 
No protocol specified 
Unable to init server: Could not connect: Connection refused 
Error: cannot open display: :0 

答えて

-1

FirefoxはセレンのWebドライバとあまり良くやっていませんこれらの日私はあなたが

代わりにクロームのドライバを使用することをお勧めすることができます

クロムドライバをダウンロードしてファイルを抽出します。環境パスにクロムドライバパスを設定し、Firefoxの(置換することにより、同一のコードと試みる)Chromeに() またはコードの下に従っ....セレン3.0リリース、Firefoxで

from selenium import webdriver 

Path = ("c://chromedriver//chromedriver.exe") 
browser = webdriver.Chrome(path) 
#eliminate above two steps if the path is set in Environment variable 

browser = webdriver.Chrome() 

browser.get('http://www.yahoo.com') 

browser.quit() 
+1

はい、ここで私の問題は解決しました。 – Robin

0

セレンドライバはMarionetteまたは "geckodriver"という新しいドライバにアップデートされました。これはシステム上の別のバイナリです。 Selenium install Marionette webdriver

古いセレンドライバを使用する場合は、バージョン2.x:

  • Install your Python packages properly using virtual environment

  • pip install "selenium<3"

  • は、Pythonでgeckodriver使用方法を参照してください。 Firefoxをバージョン45にダウングレードするか、firefoxバージョンを追加してください45バイナリをあなたの `` PATH``環境変数に置き換えます

関連する問題