Selenium连接超时错误及WebDriver初始化问题求助
问题详情
尝试构建Selenium自动化项目时无法正常启动Chrome,原代码如下:
from selenium import webdriver from selenium.webdriver.chrome.service import Service from webdriver_manager.chrome import ChromeDriverManager import os os.environ['WDM_SSL_VERIFY'] = '0' #Disable SSL driver = webdriver.Chrome(ChromeDriverManager().install()) driver.get("http://www.google.com")
运行时报错:Timeout value connect was <object object at 0x000002B530C948B0>, but it must be an int, float or None
尝试以下操作后仍未解决:
- 指定ChromeDriver本地路径
- 使用
driver = webdriver.Chrome(service=Service(ChromeDriverManager().install())),却报错WebDriver.__init__() got an unexpected keyword argument 'service' - 修改相关依赖版本
环境版本信息:
- Python 3.11.8
- Urllib3 2.31.0
- Selenium 4.18.1
另外尝试直接初始化driver = webdriver.Chrome()访问网站,同样失败。
解决方案
1. 修复Urllib3版本兼容性问题
Urllib3 2.x版本与Selenium 4.18.x存在兼容性冲突,是导致Timeout错误的核心原因。执行以下命令降级Urllib3:
pip install urllib3==1.26.18
2. 正确初始化ChromeDriver(适配Selenium 4.x)
确保webdriver-manager版本为最新,先执行升级:
pip install --upgrade webdriver-manager
然后使用标准的Selenium 4.x初始化代码:
from selenium import webdriver from selenium.webdriver.chrome.service import Service from webdriver_manager.chrome import ChromeDriverManager import os os.environ['WDM_SSL_VERIFY'] = '0' driver = webdriver.Chrome(service=Service(ChromeDriverManager().install())) driver.get("http://www.google.com")
3. 手动指定ChromeDriver路径(备选方案)
若自动管理工具仍有问题,可手动指定本地ChromeDriver路径(需保证Chrome浏览器与ChromeDriver版本完全一致):
from selenium import webdriver from selenium.webdriver.chrome.service import Service import os os.environ['WDM_SSL_VERIFY'] = '0' # 替换为你的ChromeDriver实际路径,Windows后缀为.exe,Linux/Mac无需 driver_path = "./chromedriver.exe" service = Service(driver_path) driver = webdriver.Chrome(service=service) driver.get("http://www.google.com")
4. 检查环境依赖一致性
若使用虚拟环境,确认当前环境下的依赖版本正确,执行pip list查看以下包版本:
- selenium:4.18.1
- urllib3:1.26.18
- webdriver-manager:最新版本
避免全局安装与虚拟环境的依赖版本冲突。
内容的提问来源于stack exchange,提问作者Dave123432
相关产品推荐
相关产品推荐

