【问题标题】:Selenium Firefox 56 webdriver via geckodriver results in error: Can not connect to the ServiceSelenium Firefox 56 webdriver 通过 geckodriver 导致错误:无法连接到服务
【发布时间】:2017-10-23 17:19:07
【问题描述】:

我正在为 Firefox 使用 geckodriver,并且正在使用 Selenium 运行 Python 3。这是我在文件script.py中的代码:

from selenium import webdriver
browser = webdriver.Firefox()
browser.get('http://www.google.com')

一旦我在终端上使用python3 script.py 运行它,它就会启动 Firefox,但根本不会加载页面,也不会在地址栏中插入链接。我的 geckodriver 安装在这个位置:/usr/local/bin/geckodriver。

等待大约一分钟后,我收到以下错误:

Traceback (most recent call last):
  File "script.py", line 3, in <module>
    browser = webdriver.Firefox()
  File "/usr/local/lib/python3.5/dist-packages/selenium/webdriver/firefox/webdriver.py", line 154, in __init__
    keep_alive=True)
  File "/usr/local/lib/python3.5/dist-packages/selenium/webdriver/remote/webdriver.py", line 151, in __init__
    self.start_session(desired_capabilities, browser_profile)
  File "/usr/local/lib/python3.5/dist-packages/selenium/webdriver/remote/webdriver.py", line 240, in start_session
    response = self.execute(Command.NEW_SESSION, parameters)
  File "/usr/local/lib/python3.5/dist-packages/selenium/webdriver/remote/webdriver.py", line 308, in execute
    self.error_handler.check_response(response)
  File "/usr/local/lib/python3.5/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

我已经搜索了很多修复方法,但没有一个有效。

我意识到我用的是Firefox ESR而不是普通的,我切换到普通的Firefox版本并遇到了这个问题:

Traceback (most recent call last):
  File "script.py", line 3, in <module>
    driver = webdriver.Firefox(executable_path=r'/root/Downloads/firefox-56.0.1/firefox/firefox')
  File "/usr/local/lib/python3.5/dist-packages/selenium/webdriver/firefox/webdriver.py", line 144, in __init__
    self.service.start()
  File "/usr/local/lib/python3.5/dist-packages/selenium/webdriver/common/service.py", line 102, in start
    raise WebDriverException("Can not connect to the Service %s" % self.path)
selenium.common.exceptions.WebDriverException: Message: Can not connect to the Service /root/Downloads/firefox-56.0.1/firefox/firefox

【问题讨论】:

    标签: python python-3.x selenium geckodriver


    【解决方案1】:

    您使用的是哪个版本的 Selenium/Geckodriver/Browser?

    不管怎样,你设置executable_path:

    driver = webdriver.Firefox(executable_path=r'pathTo/geckodriver')
    

    ?

    编辑

    如果您正在使用:

    • 硒版本 = 3.6.0
    • Geckodriver 版本 = 0.19.0
    • Firefox 版本 = 52.4.0

    您的问题是 Firefox。来自GeckoDriver releases,推荐Firefox 55.0(及更高版本)。

    【讨论】:

    • 不,仍然遇到同样的问题。 Selenium 版本 = 3.6.0,Geckodriver 版本 = 0.19.0,Firefox 版本 = 52.4.0
    • 意识到我使用的是 Firefox ESR 而不是普通的 Firefox,切换到普通的 Firefox,我仍然面临同样的问题。已编辑的原始帖子出现新错误。
    猜你喜欢
    • 2017-08-03
    • 1970-01-01
    • 2017-01-11
    • 1970-01-01
    • 2019-05-29
    • 2015-06-22
    • 2017-04-04
    • 1970-01-01
    • 2019-03-15
    相关资源
    最近更新 更多