在Python3.6(selenium模块)中:ConnectionAbortedError:[WinError 10053]已 Build 的连接被主机中的软件中止

我正在学习Python的书“使用Python自动化无聊的东西”(由Al Sweigart编写),我遇到了网络抓取问题(第11章),即selenium模块 . 我在Python IDLE中编写以下内容:

>>> from selenium import webdriver
>>> browser = webdriver.Firefox() # Here Windows command black window appears
                                  # and Mozilla Firefox with blank page opens
>>> browser.get('http://inventwithpython.com')
    Traceback (most recent call last):
  File "<pyshell#2>", line 1, in <module>
    browser.get('http://inventwithpython.com')
  File "C:\Users\forwa\AppData\Local\Programs\Python\Python36-32\lib\site-packages\selenium\webdriver\remote\webdriver.py", line 326, in get
    self.execute(Command.GET, {'url': url})
  File "C:\Users\forwa\AppData\Local\Programs\Python\Python36-32\lib\site-packages\selenium\webdriver\remote\webdriver.py", line 312, in execute
    response = self.command_executor.execute(driver_command, params)
  File "C:\Users\forwa\AppData\Local\Programs\Python\Python36-32\lib\site-packages\selenium\webdriver\remote\remote_connection.py", line 472, in execute
    return self._request(command_info[0], url, body=data)
  File "C:\Users\forwa\AppData\Local\Programs\Python\Python36-32\lib\site-packages\selenium\webdriver\remote\remote_connection.py", line 495, in _request
    self._conn.request(method, parsed_url.path, body, headers)
  File "C:\Users\forwa\AppData\Local\Programs\Python\Python36-32\lib\http\client.py", line 1239, in request
    self._send_request(method, url, body, headers, encode_chunked)
  File "C:\Users\forwa\AppData\Local\Programs\Python\Python36-32\lib\http\client.py", line 1285, in _send_request
    self.endheaders(body, encode_chunked=encode_chunked)
  File "C:\Users\forwa\AppData\Local\Programs\Python\Python36-32\lib\http\client.py", line 1234, in endheaders
    self._send_output(message_body, encode_chunked=encode_chunked)
  File "C:\Users\forwa\AppData\Local\Programs\Python\Python36-32\lib\http\client.py", line 1065, in _send_output
    self.send(chunk)
  File "C:\Users\forwa\AppData\Local\Programs\Python\Python36-32\lib\http\client.py", line 986, in send
    self.sock.sendall(data)
ConnectionAbortedError: [WinError 10053] An established connection was aborted by the software in your host machine

>>> browser.get('http://inventwithpython.com')

当我第一次写 >>> browser.get('http://inventwithpython.com') 时,会发生错误 . 当我第二次编写此命令时,Mozilla Firefox浏览器会打开所需的网页 . 当我第三次写入命令时,会再次发生ConnectionAbortedError,依此类推 - 编写命令(1,3,...)的奇数次导致ConnectionAbortedError,偶数次(2,4,... . )传递没有错误 . 我试图关闭防病毒和防火墙,但它没有帮助 . 请帮我解决这个问题 . 附:我有Windows 10操作系统 .

回答(1)

2 years ago

我是使用Python自动化无聊的东西的作者 . 我在Windows 10计算机上也遇到了这个错误 . 根据这个StackOverflow的回答https://stackoverflow.com/a/51005821/1893164,这似乎是geckodriver 0.21.0的一个问题 .

对我有用的解决方法是安装旧版本的geckodriver,0.20.1,你可以在这里下载:https://github.com/mozilla/geckodriver/releases/tag/v0.20.1