使用Selenium爬虫时,如何匹配ChromeDriver与Chrome版本及修复报错?
ChromeDriver与Chrome版本不匹配问题解决方案
一、如何匹配ChromeDriver与Chrome浏览器版本
- 查看Chrome版本:打开Chrome,依次点击右上角「三个点」→「帮助」→「关于Google Chrome」,记录显示的版本号(格式如
125.0.6422.112,主版本为前三位) - 下载对应ChromeDriver:选择与Chrome主版本号完全一致的ChromeDriver(例如Chrome版本125.x.x.x,就下载125系列的ChromeDriver),无需完全匹配最后两位小版本
- 省心方案:使用
webdriver-manager自动管理版本,无需手动下载,会自动匹配当前Chrome版本
二、修复版本不匹配报错
方法1:手动替换匹配版本的ChromeDriver
- 删除当前使用的不匹配ChromeDriver文件
- 下载对应版本的ChromeDriver,解压后放到指定路径
- 修改代码中
executable_path的路径为新ChromeDriver的正确路径,确保路径无拼写错误
方法2:使用webdriver-manager自动管理(推荐)
该方法会自动检测Chrome版本并下载对应ChromeDriver,彻底避免版本不匹配问题:
- 先安装依赖包:
pip install webdriver-manager
- 修改原有代码,替换ChromeDriver路径指定部分:
import os from selenium import webdriver from selenium.webdriver.chrome.service import Service # 新增导入 from webdriver_manager.chrome import ChromeDriverManager profile_name = 'File Downloader' profile_path = rf'{os.path.expanduser("~")}\Chrome Profiles\{profile_name}' chrome_options = webdriver.ChromeOptions() chrome_options.add_argument(f'user-data-dir={profile_path}') chrome_options.add_argument(f'--profile-directory={profile_name}') chrome_options.add_argument("--no-sandbox") chrome_options.add_argument("--disable-gpu") chrome_options.add_argument(f"--download.default_directory=Download_contanier") chrome_options.add_experimental_option('excludeSwitches', ['enable-logging']) chrome_options.add_experimental_option("detach", True) # 修改此处,自动获取匹配版本的ChromeDriver browser = webdriver.Chrome(service=Service(ChromeDriverManager().install()), options=chrome_options) browser.maximize_window()
内容的提问来源于stack exchange,提问作者crazyGuru
相关产品推荐
相关产品推荐

