关注

【浏览器】ChromeDriver 下载/安装详解(Windows / Mac / Linux)

核心概念:为什么需要 ChromeDriver?

ChromeDriver 是一个独立的服务器,它通过 WebDriver 协议 来接收来自 Selenium 客户端(你用 Python、Java 等写的脚本)的指令,并控制本地的 Google Chrome 浏览器执行相应的操作(如打开网页、点击按钮、输入文本等)。

可以把它理解为 Selenium 和 Chrome 浏览器之间的 “翻译官” 或 “桥梁”


第一步:确定 Chrome 浏览器版本(最关键的一步!)

ChromeDriver 的版本必须与您电脑上已安装的 Chrome 浏览器主版本号 完全匹配!否则会报错。

查看 Chrome 版本的方法:

  1. 打开 Chrome 浏览器。
  2. 点击右上角的三个点菜单 -> “帮助” -> “关于 Google Chrome”。
  3. 在弹出的页面中,你会看到版本号,例如: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 版本开始,官方推荐使用新的下载页面,它更清晰。

  1. 访问 https://googlechromelabs.github.io/chrome-for-testing/
  2. 在页面中找到与你 Chrome 主版本号相同的 Stable(稳定版)版本。例如 128.0.6613.xxx
  3. 点击进入该版本详情页。
  4. 根据你的操作系统和芯片类型下载对应的文件:
    • Windows: 下载 chromedriver-win32.zipchromedriver-win64.zip
    • macOS:
      • Intel 芯片: 下载 chromedriver-mac-x64.zip
      • Apple Silicon (M1/M2/M3) 芯片: 下载 chromedriver-mac-arm64.zip
    • Linux: 下载 chromedriver-linux64.zip
传统方法(如果新地址找不到你的版本)

如果你的 Chrome 版本非常旧(114 或更早),可以使用传统地址。

  1. 访问 https://chromedriver.chromium.org/downloads
  2. 在页面上找到对应版本的下载链接。例如,你的 Chrome 是 96 版,就点击 ChromeDriver 96.0.4664.45 的链接。
  3. 根据你的操作系统下载:
    • Windows: 下载 chromedriver_win32.zip
    • macOS: 下载 chromedriver_mac64.zip
    • Linux: 下载 chromedriver_linux64.zip

第三步:安装 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 系统:

  1. chromedriver.exe 文件移动到一个固定的、简单的目录,例如 C:\WebDriver\
  2. 在 Windows 搜索框输入“环境变量”,选择“编辑系统环境变量”。
  3. 点击下方的“环境变量”按钮。
  4. 在“系统变量”区域,找到并选中名为 Path 的变量,点击“编辑”。
  5. 点击“新建”,将你的 ChromeDriver 所在路径(例如 C:\WebDriver\)添加进去。
  6. 一路点击“确定”保存。
  7. 重新启动命令提示符(CMD)或 PowerShell,使其生效。

现在,你的代码可以简化为:

from selenium import webdriver

driver = webdriver.Chrome() # 无需指定 executable_path
driver.get("https://www.baidu.com")

macOS / Linux 系统:

  1. 打开终端(Terminal)。
  2. chromedriver 文件移动到系统的可执行文件目录,例如 /usr/local/bin/。这需要管理员权限。
    # 假设 chromedriver 文件在 Downloads 文件夹
    sudo mv ~/Downloads/chromedriver /usr/local/bin/
    
  3. 赋予可执行权限:
    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 浏览器版本不匹配。
  • 解决:
    1. 严格按照第一步,重新检查你的 Chrome 版本。
    2. 下载完全对应的 ChromeDriver 版本。
    3. 如果 Chrome 浏览器已更新到最新版,但找不到对应版本的 ChromeDriver,可以尝试 更新 Chrome 浏览器稍等一两天,因为新版驱动可能刚刚发布。

2. 错误:WebDriverException: Message: ‘chromedriver‘ executable needs to be in PATH

  • 原因: 系统找不到 chromedriver 文件。
  • 解决:
    • 确保你下载的是正确的操作系统版本。
    • 确保你按照 方法一方法二 正确配置了文件路径。
    • 检查代码中 executable_path 的路径是否正确(建议使用绝对路径)。

3. 在 macOS 上运行时提示“无法验证开发者”

  • 原因: macOS 的安全限制。
  • 解决:
    1. 第一次运行时,去“系统偏好设置” -> “安全性与隐私” -> “通用”。
    2. 你会看到一条关于 Chromedriver 的阻止信息,点击“仍要允许”。
    3. 或者,在终端执行一次授权命令:
    ```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

评论

赞0

评论列表

微信小程序
QQ小程序

关于作者

点赞数:0
关注数:0
粉丝:0
文章:0
关注标签:0
加入于:--