浏览器下载、驱动获取、Python 环境配置一站式指南
从零开始搭建一套可用的 Selenium 自动化测试环境,只需以下 5 步。点击下方各章节可查看详细操作。
Chrome / Edge / Firefox,建议同时安装多个用于跨浏览器测试
ChromeDriver / geckodriver 等,版本需与浏览器主版本号一致
推荐 Python 3.10+,安装时勾选 Add Python to PATH
pip install selenium,推荐同时装 webdriver-manager
运行第一个 Selenium 脚本,浏览器自动打开即配置成功
自动化测试需使用现代浏览器,建议同时安装 Chrome 和 Firefox 用于跨浏览器测试。
Selenium 通过驱动程序(Driver)控制浏览器,驱动版本必须与浏览器版本匹配。
webdriver-manager 自动下载匹配版本的驱动,无需手动管理。
| 浏览器 | 驱动名称 | 下载地址 | 说明 |
|---|---|---|---|
| Chrome | ChromeDriver | 官方下载 · Chrome for Testing · NPM 镜像 · 旧版归档 | 版本需与 Chrome 主版本号一致 |
| Edge | EdgeDriver | 官方下载 · NPM 镜像 | 版本需与 Edge 主版本号一致 |
| Firefox | geckodriver | GitHub Releases · NPM 镜像 | 支持 Firefox 全版本,版本支持列表 |
| Safari | Safari WebDriver | Apple 文档 | macOS 自带,启用方式见文档 |
| Opera | OperaDriver | GitHub Releases · NPM 镜像 | 基于 ChromeDriver 适配 |
驱动下载完成后,有三种方式让 Selenium 找到它,任选其一即可:
将驱动目录加入系统 PATH:
Windows 详细步骤:
① 按 Win + S 搜索「环境变量」,点击「编辑系统环境变量」
② 在弹出的「系统属性」窗口中,点击右下角「环境变量」按钮
③ 在上半部分「用户变量」或下半部分「系统变量」中,找到 Path 并选中(建议用系统变量,所有用户生效)
④ 点击「编辑」→「新建」,输入驱动所在的文件夹路径(如 C:\drivers,注意填文件夹而非 .exe 文件)
⑤ 依次点击各窗口的「确定」保存,重新打开终端/IDE 后生效
macOS 详细步骤:
① 按 ⌘ + 空格 打开 Spotlight,搜索「Terminal」回车
② 确认 shell 类型:输入 echo $SHELL,macOS 默认是 /bin/zsh
③ 打开配置文件:open -e ~/.zshrc(用系统自带 TextEdit 图形化打开),或 nano ~/.zshrc(终端内编辑)
④ 在文件末尾添加一行(把 /path/to/drivers 替换为你的驱动目录,如 ~/drivers):
export PATH=$PATH:/path/to/drivers
⑤ 保存并关闭:TextEdit 按 ⌘ + S 后直接关闭窗口;nano 按 Ctrl + O → 回车 → Ctrl + X
⑥ 执行 source ~/.zshrc 立即生效,或直接重新打开终端
Linux(Ubuntu/Debian)详细步骤:
① 按 Ctrl + Alt + T 打开终端(或在应用菜单搜索「Terminal」)
② 确认 shell 类型:输入 echo $SHELL,Ubuntu 默认是 /bin/bash(新版也可能是 /bin/zsh,按需调整)
③ 打开配置文件(系统级配置● 系统级配置(所有用户生效,需 sudo):
方式一(推荐):在 /etc/profile.d/ 目录下新建 selenium.sh 文件
sudo gedit /etc/profile.d/selenium.sh → 写入 export PATH=$PATH:/path/to/drivers
✅ 升级安全、可随时撤销、支持批量部署
方式二:修改 /etc/environment(Ubuntu 专用)
sudo gedit /etc/environment → 在 PATH 行末尾追加 :/path/to/drivers
✅ GUI 登录的程序也能继承 PATH;⚠️ 格式固定,只支持简单的 KEY="VALUE" 键值对(不能写 $PATH 或 shell 变量)
方式三(不推荐):直接修改 /etc/profile
sudo gedit /etc/profile → 在文件末尾添加 export PATH=$PATH:/path/to/drivers
❌ 升级可能覆盖、影响全站、风险高 或 用户级配置● 用户级配置(仅当前用户生效,日常开发推荐):
方式一(bash shell,Ubuntu 默认):修改 ~/.bashrc
gedit ~/.bashrc → 末尾添加 export PATH=$PATH:/path/to/drivers
✅ 无需 sudo、独立于系统、升级不影响
方式二(zsh shell,macOS / 新版 Ubuntu 默认):修改 ~/.zshrc
gedit ~/.zshrc → 末尾添加 export PATH=$PATH:/path/to/drivers
✅ 同上,文件不同而已;用 echo $SHELL 确认当前 shell 类型
💡 如果希望 bash 和 zsh 都能读到,可在 ~/.profile 里配置(登录 shell 通用)
补充:bash 登录 shell 还会读 ~/.bash_profile,
如果它存在,bash 就不再读 ~/.profile(二选一)
建议在 ~/.bash_profile 里加一行 source ~/.profile
这样两个文件的配置都能生效):gedit ~/.bashrc(用 gedit 图形化打开,Ubuntu 自带),或 nano ~/.bashrc(终端内编辑)
• 如果 gedit 未安装,先 sudo apt install gedit,或直接用 nano
• 如果 ~/.bashrc 不存在,改用 gedit ~/.bash_profile
④ 在文件末尾添加一行(把 /path/to/drivers 替换为你的驱动目录,如 ~/drivers):
export PATH=$PATH:/path/to/drivers
⑤ 保存并关闭:gedit 按 Ctrl + S 后直接关闭;nano 按 Ctrl + O → 回车 → Ctrl + X
⑥ 执行 source ~/.bashrc(或 source ~/.bash_profile)立即生效,或直接重新打开终端
通过 Service 类显式指定:
from selenium.webdriver.chrome.service import Service
from selenium import webdriver
service = Service(executable_path=r"C:\drivers\chromedriver.exe")
driver = webdriver.Chrome(service=service)
内置自动检测浏览器版本、下载匹配驱动并缓存,无需手动配置:
from selenium import webdriver
from selenium.webdriver.chrome.service import Service as CS
from webdriver_manager.chrome import ChromeDriverManager
driver = webdriver.Chrome(service=CS(ChromeDriverManager().install()))
Selenium 支持 Python 环境,先安装 Python 解释器,再安装 Selenium 库。
推荐 Python 3.10+,下载地址:python.org/downloads
安装时务必勾选 Add Python to PATH,否则后续命令行无法直接使用 python / pip。
打开命令行(Windows 用 cmd 或 PowerShell),执行以下命令查看版本:
若两条命令均能正确输出版本号,说明 Python 环境已就绪,可继续安装 Selenium。
Add Python to PATH。可重新运行安装包选择 Modify,或手动将 Python 安装目录加入系统环境变量 PATH。
Selenium 是一个开源的 Web 自动化测试工具集, 支持 Chrome、Firefox、Edge、Safari 等主流浏览器,支持 Java、Python、C#、JavaScript 等多种编程语言。 它是当前最流行的 Web UI 自动化测试框架,核心思想是:通过程序驱动浏览器,模拟用户在浏览器中的真实操作。
| 版本 | 发布年份 | 核心特性 | 主要变化 |
|---|---|---|---|
| Selenium 1 Selenium RC |
2004 | 基于 JavaScript 注入驱动浏览器 | 首个开源 Web 自动化工具,引入 IDE、RC、Grid 组件 |
| Selenium 2 | 2011 | 引入 WebDriver,与 RC 并存 | 合并 RC 和 WebDriver 项目,WebDriver 成为主推,直接调用浏览器原生接口 |
| Selenium 3 | 2016 | 全面转向 WebDriver,移除 RC | 弃用 Selenium RC,需独立下载浏览器驱动,Safari 内置驱动 |
| Selenium 4 (推荐) | 2021 | 完全遵循 W3C 标准 | 移除 JSON Wire Protocol,原生支持 DevTools,Grid 全新重构,支持双向通信 |
由 Jason Huggins 在 2004 年开发。核心是 Selenium RC(Remote Control),通过在浏览器中注入 JavaScript 来操作页面元素。缺点:受同源策略限制,操作速度慢,无法处理复杂交互。
2011 年发布,最重要的变化是引入了 WebDriver,并将其与 RC 合并。WebDriver 通过浏览器原生接口(如 Chrome 的 CDP)直接控制浏览器,速度更快、更稳定,成为 Web 自动化的新标准。
2016 年发布,正式移除 Selenium RC,全面转向 WebDriver。浏览器驱动需独立下载(如 chromedriver、geckodriver);Safari 开始内置 safaridriver,各浏览器驱动趋于规范统一。
2021 年发布,完全遵循 W3C WebDriver 规范,移除了旧的 JSON Wire Protocol,兼容性大幅提升。新增原生 DevTools 支持(拦截网络、模拟网络环境),Grid 重构支持 Docker/K8s,IDE 全面升级。
Python 环境就绪后,即可安装 Selenium 库并通过脚本验证整套环境是否可用。
安装完成后,用一行命令确认 Selenium 是否可正常导入:
✅ 看到版本号(如 4.15.2)或 "Selenium 安装成功!" 即表示安装无误;
❌ 若报 ModuleNotFoundError 或 No module named 'selenium',请检查 pip 安装路径是否与当前 Python 一致。
Selenium 安装完成后,编写第一个脚本验证环境是否正确配置。以下步骤将通过实际代码演示浏览器启动、驱动加载和自动关闭。
将下载的 chromedriver.exe 放到指定目录,路径按需修改。
使用 webdriver-manager 自动管理驱动版本,或确保手动指定的驱动路径正确。
Chrome/Edge:驱动主版本号 = 浏览器主版本号。例如 Chrome 131.x → ChromeDriver 131.x。
将驱动放到纯英文路径下,如 C:\webdrivers\。
运行上方"第一个 Selenium 脚本",若浏览器自动打开并输出标题则环境配置正确。