核心概念:为什么需要 ChromeDriver?
ChromeDriver 是一个独立的服务器,它通过 WebDriver 协议 来接收来自 Selenium 客户端(你用 Python、Java 等写的脚本)的指令,并控制本地的 Google Chrome 浏览器执行相应的操作(如打开网页、点击按钮、输入文本等)。
可以把它理解为 Selenium 和 Chrome 浏览器之间的 “翻译官” 或 “桥梁”。
第一步:确定 Chrome 浏览器版本(最关键的一步!)
ChromeDriver 的版本必须与您电脑上已安装的 Chrome 浏览器主版本号 完全匹配!否则会报错。
查看 Chrome 版本的方法:
- 打开 Chrome 浏览器。
- 点击右上角的三个点菜单 -> “帮助” -> “关于 Google Chrome”。
- 在弹出的页面中,你会看到版本号,例如:
128.0.6613.138。请记住主版本号128。
第二步:下载 ChromeDriver
根据你刚刚查到的 Chrome 主版本号(例如 128)来下载对应的 ChromeDriver。
官方下载地址:
- ChromeDriver 官方下载站:
- 地址1(推荐): https://googlechromelabs.github.io/chrome-for-testing/#stable
- 地址2(传统): https://chromedriver.chromium.org/downloads

推荐方法:使用新地址(Chrome for Testing)
从 Chrome 115 版本开始,官方推荐使用新的下载页面,它更清晰。
- 访问 https://googlechromelabs.github.io/chrome-for-testing/
- 在页面中找到与你 Chrome 主版本号相同的 Stable(稳定版)版本。例如
128.0.6613.xxx。 - 点击进入该版本详情页。
- 根据你的操作系统和芯片类型下载对应的文件:
- Windows: 下载
chromedriver-win32.zip或chromedriver-win64.zip。 - macOS:
- Intel 芯片: 下载
chromedriver-mac-x64.zip - Apple Silicon (M1/M2/M3) 芯片: 下载
chromedriver-mac-arm64.zip
- Intel 芯片: 下载
- Linux: 下载
chromedriver-linux64.zip
- Windows: 下载
传统方法(如果新地址找不到你的版本)
如果你的 Chrome 版本非常旧(114 或更早),可以使用传统地址。
- 访问 https://chromedriver.chromium.org/downloads
- 在页面上找到对应版本的下载链接。例如,你的 Chrome 是 96 版,就点击
ChromeDriver 96.0.4664.45的链接。 - 根据你的操作系统下载:
- Windows: 下载
chromedriver_win32.zip - macOS: 下载
chromedriver_mac64.zip - Linux: 下载
chromedriver_linux64.zip
- Windows: 下载
第三步:安装 ChromeDriver(实为配置路径)
下载的是一个压缩包,解压后只有一个名为 chromedriver(Windows 是 chromedriver.exe)的可执行文件。“安装”其实就是把这个文件放到一个合适的位置,并确保系统能够找到它。
方法一:直接放在脚本同目录(最简单,适合新手)
将解压得到的 chromedriver.exe(Windows)或 chromedriver(macOS/Linux)文件,直接复制到你编写的 Python 或其他脚本的同一个文件夹下。
在代码中,你需要指定驱动路径为当前目录:
from selenium import webdriver
driver = webdriver.Chrome(executable_path='./chromedriver') # macOS/Linux
# driver = webdriver.Chrome(executable_path='./chromedriver.exe') # Windows
driver.get("https://www.baidu.com")
方法二:添加到系统环境变量 PATH(推荐,一劳永逸)
这种方法可以让系统在任何位置都能识别 chromedriver 命令。
Windows 系统:
- 将
chromedriver.exe文件移动到一个固定的、简单的目录,例如C:\WebDriver\。 - 在 Windows 搜索框输入“环境变量”,选择“编辑系统环境变量”。
- 点击下方的“环境变量”按钮。
- 在“系统变量”区域,找到并选中名为
Path的变量,点击“编辑”。 - 点击“新建”,将你的 ChromeDriver 所在路径(例如
C:\WebDriver\)添加进去。 - 一路点击“确定”保存。
- 重新启动命令提示符(CMD)或 PowerShell,使其生效。
现在,你的代码可以简化为:
from selenium import webdriver
driver = webdriver.Chrome() # 无需指定 executable_path
driver.get("https://www.baidu.com")
macOS / Linux 系统:
- 打开终端(Terminal)。
- 将
chromedriver文件移动到系统的可执行文件目录,例如/usr/local/bin/。这需要管理员权限。# 假设 chromedriver 文件在 Downloads 文件夹 sudo mv ~/Downloads/chromedriver /usr/local/bin/ - 赋予可执行权限:
sudo chmod +x /usr/local/bin/chromedriver
现在,你可以在终端任何位置输入 chromedriver --version 来测试是否成功。代码中也无需指定路径。
第四步:验证安装
创建一个简单的 Python 脚本进行测试。
test_chromedriver.py
from selenium import webdriver
# 如果用了方法二(配置了PATH),直接这样写
driver = webdriver.Chrome()
# 如果用了方法一(文件放同目录),可能需要指定路径
# driver = webdriver.Chrome(executable_path='./chromedriver')
try:
driver.get("https://www.baidu.com")
print("页面标题是:", driver.title)
print("ChromeDriver 安装成功!")
finally:
driver.quit() # 关闭浏览器
运行这个脚本,如果能成功打开百度页面并打印出标题,则说明一切正常。
常见问题与解决方法 (FAQ)
1. 错误:SessionNotCreatedException: Message: session not created: This version of ChromeDriver only supports Chrome version XX
- 原因: ChromeDriver 和 Chrome 浏览器版本不匹配。
- 解决:
- 严格按照第一步,重新检查你的 Chrome 版本。
- 下载完全对应的 ChromeDriver 版本。
- 如果 Chrome 浏览器已更新到最新版,但找不到对应版本的 ChromeDriver,可以尝试 更新 Chrome 浏览器 或 稍等一两天,因为新版驱动可能刚刚发布。
2. 错误:WebDriverException: Message: ‘chromedriver‘ executable needs to be in PATH
- 原因: 系统找不到
chromedriver文件。 - 解决:
- 确保你下载的是正确的操作系统版本。
- 确保你按照 方法一 或 方法二 正确配置了文件路径。
- 检查代码中
executable_path的路径是否正确(建议使用绝对路径)。
3. 在 macOS 上运行时提示“无法验证开发者”
- 原因: macOS 的安全限制。
- 解决:
- 第一次运行时,去“系统偏好设置” -> “安全性与隐私” -> “通用”。
- 你会看到一条关于 Chromedriver 的阻止信息,点击“仍要允许”。
- 或者,在终端执行一次授权命令:
```bash sudo xattr -d com.apple.quarantine /path/to/your/chromedriver # 例如: sudo xattr -d com.apple.quarantine /usr/local/bin/chromedriver ```
4. 更简便的自动管理方法(进阶推荐)
对于项目开发,强烈推荐使用第三方库(如 Python 的 webdriver-manager)来自动管理驱动版本,彻底告别手动下载。
安装:
pip install webdriver-manager
使用:
from selenium import webdriver
from webdriver_manager.chrome import ChromeDriverManager
from webdriver_manager.core.os_manager import ChromeType
# 它会自动下载、检查版本、并添加到PATH
driver = webdriver.Chrome(ChromeDriverManager().install())
driver.get("https://www.baidu.com")
转载自CSDN-专业IT技术社区
原文链接:https://blog.csdn.net/weixin_42969320/article/details/154204654



