Selenium自动化测试环境搭建
环境要求与准备工作
搭建Selenium自动化测试前,先确认你的电脑满足以下条件:
- 操作系统:Windows 10/11、macOS 或 Linux(Ubuntu 20.04+)
- Python 版本:3.7 及以上(推荐 3.10+)
- 浏览器:Chrome 或 Firefox(本文以 Chrome 为例)
- 网络:能正常访问 PyPI 和 Google(国内用户可能需要换源或魔法)
如果你还未安装 Python,可以从官网下载安装包,安装时务必勾选“Add Python to PATH”。
安装 Python 与 Selenium 库
打开终端(Windows 用户按 Win+R,输入 cmd 回车),先检查 Python 是否正常:
python --version
如果显示版本号,说明安装成功。
随后安装 Selenium 库:
pip install selenium
国内用户建议使用清华镜像源加速:
pip install selenium -i https://pypi.tuna.tsinghua.edu.cn/simple
等待安装完成,无报错即可继续。
配置浏览器驱动(以 Chrome 为例)
Selenium 需要对应浏览器版本的驱动才能控制浏览器。
- 查看 Chrome 版本:在地址栏输入
chrome://version/,复制“Google Chrome”后面的版本号(例如 122.0.6261.129)。 - 下载匹配的 ChromeDriver:访问 ChromeDriver 下载页,选择与你的 Chrome 主版本号一致的驱动。国内用户也可从国内镜像站获取。
- 放置驱动文件:
- Windows:将解压后的
chromedriver.exe放到 Python 安装目录下的Scripts文件夹中(通常路径为C:\Users\你的用户名\AppData\Local\Programs\Python\Python310\Scripts)。 - macOS / Linux:将
chromedriver放到/usr/local/bin目录,并赋予执行权限:
sudo mv chromedriver /usr/local/bin/
sudo chmod +x /usr/local/bin/chromedriver
重要:驱动版本必须与浏览器主版本号一致,否则会报 SessionNotCreatedException。
编写你的第一个自动化脚本
在任意目录新建一个文本文件,命名为 test_selenium.py,用记事本或编辑器打开,粘贴以下代码:
from selenium import webdriver
from selenium.webdriver.chrome.options import Options
# 配置无头模式(可选,不显示浏览器界面)
# options = Options()
# options.add_argument("--headless")
# 启动 Chrome 浏览器
driver = webdriver.Chrome() # 如果驱动已配置到PATH,无需指定路径
# 打开百度首页
driver.get("https://www.baidu.com")
# 打印网页标题
print(driver.title)
# 等待3秒,便于观察
driver.implicitly_wait(3)
# 关闭浏览器
driver.quit()
在终端中运行该脚本:
python test_selenium.py
如果一切正常,会看到 Chrome 浏览器自动打开并访问百度,终端打印出“百度一下”。
常见报错与避坑指南
1. selenium.common.exceptions.WebDriverException: Message: 'chromedriver' executable needs to be in PATH
原因:系统找不到 chromedriver。
解决:检查 chromedriver 是否已放入 PATH 目录,或直接在代码中指定路径:
driver = webdriver.Chrome(executable_path='/your/path/chromedriver')
注意新版 Selenium(4.10+)推荐直接使用 Service 对象:
from selenium.webdriver.chrome.service import Service
service = Service('/your/path/chromedriver')
driver = webdriver.Chrome(service=service)
2. 浏览器打开后很快闪退
可能是 chromedriver 版本不匹配。
重新下载匹配版本替换即可。
3. 国内网络无法下载驱动或 Selenium
使用国内镜像:pip 换源;
ChromeDriver 可从 npm.taobao.org/mirrors/chromedriver 下载。
4. 提示 unknown error: DevToolsActivePort file doesn't exist
多见于无头模式(Headless)。
尝试升级 Chrome 和 chromedriver,或在代码中添加:
options.add_argument('--no-sandbox')
options.add_argument('--disable-dev-shm-usage')
效果验证:确保环境可靠
成功运行上述脚本后,你可以进一步验证:
- 修改脚本,让浏览器自动搜索“Selenium 教程”:
from selenium.webdriver.common.by import By
search_box = driver.find_element(By.ID, "kw")
search_box.send_keys("Selenium 教程")
search_box.submit()
- 运行后观察是否正常显示搜索结果。
- 如果一切顺利,说明你的 Selenium 自动化测试环境搭建完全正确,可以开始构建更复杂的测试用例了。
最后提醒:每次升级浏览器后,都要同步更新 chromedriver,这是新手最容易忽略的坑。
多练几次,熟能生巧。