这是我的代码:
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 许可协议
检查您的
geckodriver.log
文件(应该与 python 文件位于同一目录中)如果显示
Error: GDK_BACKEND does not match available displays
然后安装 pyvirtualdisplay:你可能也需要 xvfb:
然后尝试添加此代码:
完整示例: