Python 硒连接重置错误: [WinError 10054] 远程主机强制关闭了现有连接



我正在使用python 3.6并使用最新版本的chromedriver,我尝试使用旧版本的chromedriver,但重新启动我的电脑时遇到了同样的问题,同样的问题。 这是我运行以重现错误的代码:

from selenium import webdriver
driver = webdriver.Chrome()
driver.get("https://google.com")

完全错误:

driver.get("https://google.com")
File "C:Python36libsite-packagesseleniumwebdriverremotewebdriver.py", line 268, in get
self.execute(Command.GET, {'url': url})
File "C:Python36libsite-packagesseleniumwebdriverremotewebdriver.py", line 254, in execute
response = self.command_executor.execute(driver_command, params)
File "C:Python36libsite-packagesseleniumwebdriverremoteremote_connection.py", line 464, in execute
return self._request(command_info[0], url, body=data)
File "C:Python36libsite-packagesseleniumwebdriverremoteremote_connection.py", line 488, in _request
resp = self._conn.getresponse()
File "C:Python36libhttpclient.py", line 1331, in getresponse
response.begin()
File "C:Python36libhttpclient.py", line 297, in begin
version, status, reason = self._read_status()
File "C:Python36libhttpclient.py", line 258, in _read_status
line = str(self.fp.readline(_MAXLINE + 1), "iso-8859-1")
File "C:Python36libsocket.py", line 586, in readinto
return self._sock.recv_into(b)
ConnectionResetError: [WinError 10054] An existing connection was forcibly closed by the remote host

在 driver.get("https://google.com"( 之前输入 time.sleep(3(,这将修复您的错误。然后,如果你像我一样,你会得到一个不同的错误。

Chromedriver 可能在后台运行,请在任务管理器中选中后台进程

如果您发现多个 chromedriver 实例正在运行,请手动终止所有进程,然后再次尝试运行该程序。

你应该很高兴。

Seth和Jack1990的上述答案对我从python使用IEDriverServer进行故障排除很有帮助。我确实尝试了Adhithiya的建议,但这对我的问题没有帮助。

这个GitHub网站对我非常有帮助。需要注意的部分是"必需配置"。但是,我首先在声明中遵循了这一点,"在Windows Vista或Windows 7上的IE 7或更高版本上,您必须将每个区域的保护模式设置设置为相同的值。该值可以是打开或关闭的,只要每个区域都相同。我发现我也必须为 Windows 10 执行此操作。事实上,python的错误消息在这一点上非常清楚。它们都需要启用或禁用。它们不必处于同一水平。

另外,我确实不得不在time.sleep(x(中玩弄x的值。此 sleep 命令是下面代码中介于driver = webdriver.Ie()driver.get("http://testwisely.com/demo")之间的命令。如果为我设置为 5,则 ie 驱动程序首先触发本地主机并抱怨无法访问它,然后它连接到我想要它的页面(大多数时候!

好消息是其他 3 个网络浏览器运行良好!我发现为 Chrome、Firefox 和 Edge(在 Windows 10 中(网络驱动程序运行 driver.quit(( 命令可以成功关闭这些浏览器,而 iedriver 版本不会关闭 IE。

我的代码在下面,以防您想将其用于实验。

from selenium import webdriver
import time
browser_to_use = "Edge" # "Chrome" "Firefox" "Ie" 
if browser_to_use == "Chrome":
driver = webdriver.Chrome()
elif browser_to_use == "Firefox":
driver = webdriver.Firefox()
elif browser_to_use == "Ie":  # This sucks!
driver = webdriver.Ie()
time.sleep(5)
elif browser_to_use == "Edge":
driver = webdriver.Edge()
driver.get("http://testwisely.com/demo")
time.sleep(5)
driver.quit()

下载旧版本(3.8(也可以解决此问题,但测试将运行得非常慢...

您可以在此处找到链接:http://selenium-release.storage.googleapis.com/index.html?path=3.8/

相关内容

  • 没有找到相关文章

最新更新