Python WebDriverException:消息:连接被拒绝
我正在将selenium与geckodriver结合使用,试图获得一个html页面。下面是我正在使用的代码Python WebDriverException:消息:连接被拒绝,python,selenium,ubuntu,geckodriver,Python,Selenium,Ubuntu,Geckodriver,我正在将selenium与geckodriver结合使用,试图获得一个html页面。下面是我正在使用的代码 from pyvirtualdisplay import Display from selenium import webdriver #start the virtual display display = Display(visible=0, size=(800, 600)) display.start() # start the browser. U
from pyvirtualdisplay import Display
from selenium import webdriver
#start the virtual display
display = Display(visible=0, size=(800, 600))
display.start()
# start the browser. Using firefox.
browser = webdriver.Firefox()
browser.get('https://www.google.com')
print browser.title
browser.quit()
display.stop()
当我用python执行它时,我得到以下错误消息
Traceback (most recent call last):
File "test.py", line 9, in <module>
browser = webdriver.Firefox()
File "/usr/local/lib/python2.7/dist-packages/selenium/webdriver/firefox/webdriver.py", line 152, in __init__
keep_alive=True)
File "/usr/local/lib/python2.7/dist-packages/selenium/webdriver/remote/webdriver.py", line 98, in __init__
self.start_session(desired_capabilities, browser_profile)
File "/usr/local/lib/python2.7/dist-packages/selenium/webdriver/remote/webdriver.py", line 188, in start_session
response = self.execute(Command.NEW_SESSION, parameters)
File "/usr/local/lib/python2.7/dist-packages/selenium/webdriver/remote/webdriver.py", line 256, in execute
self.error_handler.check_response(response)
File "/usr/local/lib/python2.7/dist-packages/selenium/webdriver/remote/errorhandler.py", line 194, in check_response
raise exception_class(message, screen, stacktrace)
selenium.common.exceptions.WebDriverException: Message: connection refused
我不知道下一步该去哪里看。有什么提示吗
更新1:似乎当我在VPS上进行电源重置时,脚本开始工作。我进一步调查了它,并记得有四个不存在的进程运行在以前的firefox执行中,我不得不杀死它们。我对Linux中进程处理的内部结构了解不够,无法完全理解这一点。壁虎河变得混乱了吗 我也有这个问题……即使是在运行X服务器和功能齐全的KDE环境的机器上。事实证明,使用geckodriver和Firefox时有严格的版本要求。我运行的是旧版本的Firefox和最新版本的geckodriver。一旦我下载了发行说明中列出的版本(并在我的webdriver声明中指定了firefox二进制文件的路径),它就可以正常工作了:
driver = webdriver.Firefox(firefox_binary='/path/to/latest/firefox/binary')
如果没有虚拟显示,是否也会发生同样的情况?谢谢您的提示。我只是试着注释掉虚拟显示相关的代码,但同样的错误会弹出。
driver = webdriver.Firefox(firefox_binary='/path/to/latest/firefox/binary')