第3章:Python + Selenium 环境搭建
好,咱们开始动手了。这一章我带你把 Python 和 Selenium 的环境搭起来,再跑第一个脚本。说实话,环境搭建这块坑不少,我当年刚入行时在这上面浪费了大半天。你跟着我的步骤来,十分钟搞定。
3.1 Python 环境配置
先确认你的电脑上有没有 Python。打开命令行(Windows 按 Win+R,输入 cmd;Mac 直接开终端),敲这个命令:
python --version
如果看到类似 Python 3.8.10 这样的输出,恭喜你,已经有了。如果提示「不是内部或外部命令」,那就得装一个。
下载安装步骤:
- 去官网 python.org 下载对应系统的安装包
- 安装时 务必勾选「Add Python to PATH」—— 我见过太多人忘了这一步,后面 pip 命令全报错
- 安装完成后,重启命令行,再验证一次版本
我个人习惯用 python3 而不是 python,因为 Mac 和 Linux 上这两个命令有时指向不同版本。你可以在命令行里试试:
python3 --version
如果两个命令都能用,那就选一个你顺手的,后面统一用。
3.2 pip 与虚拟环境
Python 装好之后,pip 一般就自带了。验证一下:
pip --version
嗯,这里要注意:如果你同时装了 Python 2 和 Python 3,可能会遇到 pip 指向混乱的问题。我建议用 pip3 来确保用的是 Python 3 的包管理器。
python -m venv selenium_env
.\selenium_env\Scripts\activate # Windows
source selenium_env/bin/activate # Mac/Linux
看到命令行前面多了 (selenium_env) 就说明激活成功了。
3.3 Selenium 库安装
环境激活后,直接一行命令搞定:
pip install selenium
等进度条跑完,验证一下:
pip list | grep selenium
如果看到 selenium 4.x.x 就说明装好了。目前 Selenium 已经到 4.x 版本了,和 3.x 有些 API 变化,我建议直接用最新的。
我曾经遇到过一个问题:在公司内网环境里,pip 连不上外网。解决办法是用国内镜像源:
pip install selenium -i https://pypi.tuna.tsinghua.edu.cn/simple
清华的源速度不错,中科大、阿里云的也行。你挑一个离你近的。
3.4 浏览器驱动(WebDriver)
Selenium 本身不操作浏览器,它需要通过 WebDriver 来「指挥」浏览器。说白了,WebDriver 就是个中间人。
各浏览器驱动下载地址:
| 浏览器 | 驱动名称 | 下载地址 |
|---|---|---|
| Chrome | ChromeDriver | https://chromedriver.chromium.org/ |
| Firefox | GeckoDriver | https://github.com/mozilla/geckodriver/releases |
| Edge | EdgeDriver | https://developer.microsoft.com/en-us/microsoft-edge/tools/webdriver/ |
session not created。我踩过这个坑,折腾了半小时才发现是版本没对上。
下载后把驱动放到一个方便的位置,比如 C:\webdrivers\,然后把这个路径加到系统环境变量 PATH 里。或者更简单的方法:直接把驱动文件放到 Python 的安装目录下(和 python.exe 同目录)。
3.5 第一个自动化脚本:打开百度
环境都准备好了,咱们写第一个脚本。新建一个文件,叫 first_script.py,输入以下代码:
from selenium import webdriver
from selenium.webdriver.chrome.service import Service
import time
# 指定驱动路径(如果已加入PATH,可以省略这行)
service = Service(r'C:\webdrivers\chromedriver.exe')
# 创建浏览器对象
driver = webdriver.Chrome(service=service)
# 打开百度
driver.get('https://www.baidu.com')
# 等3秒,让你看看效果
time.sleep(3)
# 打印页面标题
print('页面标题是:', driver.title)
# 关闭浏览器
driver.quit()
运行它:
python first_script.py
如果一切顺利,你会看到 Chrome 自动打开,跳转到百度首页,3秒后自动关闭。控制台会打印出「页面标题是:百度一下,你就知道」。
webdriver.Chrome()启动浏览器get()方法导航到指定 URLtitle属性获取当前页面的标题quit()关闭浏览器并释放资源
3.6 常见问题与避坑指南
我第一次跑这个脚本时,遇到了好几个问题。分享给你,省得你走弯路:
- 「chromedriver.exe 无法访问」 —— 路径写错了,或者驱动文件权限不够。检查路径,或者把驱动放到项目目录下用相对路径。
- 「session not created」 —— 驱动版本和浏览器版本不匹配。去下载对应版本。
- 浏览器一闪而过 —— 没加
time.sleep()或者input(),脚本执行完就自动关了。调试时可以加个等待。 - Mac/Linux 上报错 —— 驱动文件需要执行权限。运行
chmod +x chromedriver解决。
from selenium.webdriver.chrome.options import Options
options = Options()
options.add_argument('--headless')
driver = webdriver.Chrome(service=service, options=options)
这样浏览器会在后台运行,不弹出窗口。调试时建议先关掉无头模式,能看到每一步发生了什么。
3.7 本章小结
到这,你的 Python + Selenium 环境就搭好了。我们做了三件事:
- 安装了 Python 3 并配置了 PATH
- 用 pip 安装了 Selenium 库
- 下载了浏览器驱动并跑通了第一个脚本
下一章咱们开始写真正的自动化测试用例。你会学到如何定位元素、模拟点击和输入。嗯,那才是自动化测试的核心。先把环境玩熟,后面就顺了。