今天使用selenium工具测试目标网页时,平时可以正常使用的代码突然报错:
ConnectionResetError: [WinError 10054] 远程主机强迫关闭了一个现有的连接。
代码如下:
import time
from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.common.keys import Keys
from webdriver_manager.chrome import ChromeDriverManager
driver = webdriver.Chrome(ChromeDriverManager().install())
driver.get("http://baidu.com")
time.sleep(10)
...
本来以为是每次运行脚本时,忘了关闭driver,导致对方服务器识别为恶意攻击,触发反爬虫机制,于是加上
driver.close()
并且按照别人的方法重置了request,但是再次运行,仍然被拒绝。
最后查到,Chrome版本与webdriver不兼容时,也会出现同样的问题。于是想到,可能是今天的Chrome进行了版本更新,但是webdriver manager的驱动仍未对应更新,导致出现了版本差。
解决方法:文章来源:https://www.toymoban.com/news/detail-557685.html
- 使用传统方式,放弃webdriver manager,降级本机的Chrome版本,并下载对应的驱动版本。
- 暂时切换成别的浏览器。代码如下:
...
from webdriver_manager.microsoft import EdgeChromiumDriverManager
driver = webdriver.Edge(EdgeChromiumDriverManager().install())
...
成功解决。文章来源地址https://www.toymoban.com/news/detail-557685.html
到了这里,关于Selenium + webdriver manager遇到 “ConnectionResetError: [WinError 10054] 远程主机强迫关闭了一个现有的连接”异常的解决方法的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!