2016-09-17 4 views
6

を拒否した:selenium.common.exceptions.WebDriverException:メッセージ:接続が私のコードである。ここ

from selenium import webdriver 

browser = webdriver.Firefox() 

browser.get('http://www.python.org') 

browser.close() 

私はこのスクリプトを実行したときには、Firefoxブラウザを立ち上げましたが、ページが空白の場合、コマンドラインは示していエラーメッセージ:

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

私のPythonのバージョンが上限2.7.3で、セレンバージョンはセレン3.0.0.b3.egg-情報

ですそれは Error: GDK_BACKEND does not match available displaysはその後、インストール言えば

は、私はこの問題を解決するのですか...

+0

私にとってはうまく動作します。あなたは 'プロキシ'の背後にいますか? – Jeril

+0

いいえ、決してプロキシを信じてはいけません。 – leven

+0

あなたは問題を解決できましたか@leven – Timir

答えて

11

(Pythonのファイルと同じディレクトリにする必要があります)あなたのgeckodriver.logファイルを確認してくださいpyvirtualdisplay:

pip install pyvirtualdisplay selenium 

あなたもXVFBが必要になる場合があります。

sudo apt-get install xvfb # Debian 

sudo yum install Xvfb # Fedora 

次に、このコードを追加してみてください:

from pyvirtualdisplay import Display 
display = Display(visible=0, size=(800, 600)) 
display.start() 

全例:

from pyvirtualdisplay import Display 
from selenium import webdriver 

display = Display(visible=0, size=(800, 600)) 
display.start() 

browser = webdriver.Firefox() 
browser.get('http://www.python.org') 

browser.close() 
+1

このようなバーチャルディスプレイを使って私の問題を解決したことが確認できます。 – exhuma

+1

私のために働いたがCentos(首都X)でXvfpを使用する必要があります – JMG

1

もこの問題を抱えていました。 DISPLAYを設定する必要があります。 私の場合、Xvfbフレームバッファは99でローカルマシン上で実行されています。

$ export DISPLAY=:99 
+0

ありがとうたくさんの男。これで私の問題は解決しました。さもなければ、私は無意識のうちに答えのためにさまようだろう。 –

2

同じ問題がありました。プロキシやポート関連(無駄なもの)だと思ったが、私の問題を解決したのは単にFirefoxを更新するだけだった。私は52.0.xxxを実行し、57.0.2に更新しました。リンクhere

関連する問題