我正在使用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/