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 ,selenium 版本是 selenium-3.0.0.b3.egg-info

请问这个问题怎么解决…

原文由 leven 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 420
1 个回答

检查您的 geckodriver.log 文件(应该与 python 文件位于同一目录中)

如果显示 Error: GDK_BACKEND does not match available displays 然后安装 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()

原文由 Cortexelus 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题