Nir*_*eya 3 python exception selenium-webdriver
我的应用程序是这样的,如果它抛出异常,我希望驱动程序关闭,我尝试了以下代码,但它抛出异常。
我的代码:其中 url 是我要打开的网址
driver=webdriver.Firefox()
try:
   driver.get(url)
except:
   driver.quit()
它正在关闭驱动程序但抛出异常。我应该如何解决这个问题?
这是我的堆栈跟踪
raceback (most recent call last):
  File "/folderpath", line 47, in <module>
    driver.close()
  File "/usr/local/lib/python2.7/dist-packages/selenium/webdriver/remote/webdriver.py", line 505, in close
    self.execute(Command.CLOSE)
  File "/usr/local/lib/python2.7/dist-packages/selenium/webdriver/remote/webdriver.py", line 231, in execute
    response = self.command_executor.execute(driver_command, params)
  File "/usr/local/lib/python2.7/dist-packages/selenium/webdriver/remote/remote_connection.py", line 395, in execute
    return self._request(command_info[0], url, body=data)
  File "/usr/local/lib/python2.7/dist-packages/selenium/webdriver/remote/remote_connection.py", line 425, in _request
    self._conn.request(method, parsed_url.path, body, headers)
  File "/usr/lib/python2.7/httplib.py", line 973, in request
    self._send_request(method, url, body, headers)
  File "/usr/lib/python2.7/httplib.py", line 1007, in _send_request
    self.endheaders(body)
  File "/usr/lib/python2.7/httplib.py", line 969, in endheaders
    self._send_output(message_body)
  File "/usr/lib/python2.7/httplib.py", line 829, in _send_output
    self.send(msg)
  File "/usr/lib/python2.7/httplib.py", line 791, in send
    self.connect()
  File "/usr/lib/python2.7/httplib.py", line 772, in connect
    self.timeout, self.source_address)
  File "/usr/lib/python2.7/socket.py", line 571, in create_connection
    raise err
socket.error: [Errno 111] Connection refused
经过多次请求webdriver终于更新实现了上下文管理器接口。截至 2018 年 5 月,您可以执行以下操作:
    with webdriver.Firefox() as driver:
        driver.get("https://www.selenium.dev")
        raise WebDriverException
上下文管理器将负责优雅地退出和清理。如果出现错误,请通过运行确保您拥有最新的 selenium 模块pip install -U selenium。
相应的拉取请求: https: //github.com/SeleniumHQ/selenium/pull/5919。