1、环境基石:Python与Selenium的安装配置,以及第一个自动化脚本
好,咱们直接开始。做浏览器自动化,说白了就是让代码替我们操作网页。而这一切的起点,就是先把Python和Selenium这对搭档请进你的电脑。
我个人习惯把环境搭建比作盖房子的地基。地基没打好,后面写再多代码也是白搭。所以这一章,咱们稳扎稳打,一步步来。
1.1 Python环境安装:别小看这一步
Python的安装其实很简单,但有几个坑我得提前告诉你。
第一步:下载Python
去Python官网(python.org)下载最新稳定版。我建议选3.8以上版本,太老的版本有些库不支持。我自己现在用的是3.11,跑Selenium 4很稳。
第二步:安装时勾选“Add Python to PATH”
这个选项特别重要!我曾经帮一个同事排查问题,搞了半天发现他没勾这个,导致命令行里死活找不到python命令。你想想看,每次都要输完整路径,多麻烦。
第三步:验证安装
打开命令行(Windows按Win+R,输入cmd),敲下面这行:
python --version
如果看到类似 Python 3.11.5 的输出,恭喜你,第一步成了。
1.2 pip与虚拟环境:项目管理的好习惯
Python装好了,接下来是包管理工具pip。一般Python安装包自带pip,验证一下:
pip --version
嗯,这里要注意。很多新手直接全局安装各种库,结果不同项目之间互相冲突。我建议每个项目都建一个独立的虚拟环境。
创建虚拟环境:
python -m venv selenium_env
这行命令会在当前目录下创建一个叫 selenium_env 的文件夹。里面就是独立的Python环境。
激活虚拟环境:
Windows系统:
selenium_env\Scripts\activate
Mac/Linux系统:
source selenium_env/bin/activate
激活后,命令行前面会出现 (selenium_env) 的标识。这时候你安装的所有库,都只在这个环境里生效。
1.3 安装Selenium库
环境激活后,安装Selenium就一行命令的事:
pip install selenium
如果你想装指定版本:
pip install selenium==4.15.0
我个人建议用最新稳定版。Selenium 4相比3代,多了很多好用功能,比如相对定位器、新窗口管理等等。
验证安装是否成功:
pip show selenium
看到版本号和安装路径,就说明装好了。
1.4 浏览器驱动:最容易出问题的一环
Selenium本身不操作浏览器,它需要通过一个“中间人”——浏览器驱动。说白了,驱动就是Selenium和浏览器之间的翻译官。
各浏览器驱动下载地址:
| 浏览器 | 驱动名称 | 下载地址 |
|---|---|---|
| Chrome | chromedriver | https://chromedriver.chromium.org/ |
| Edge | edgedriver | https://developer.microsoft.com/en-us/microsoft-edge/tools/webdriver/ |
| Firefox | geckodriver | https://github.com/mozilla/geckodriver/releases |
关键点:驱动版本必须和浏览器版本匹配!
我曾经因为Chrome自动更新了,但驱动没更新,结果脚本跑着跑着就报错。那叫一个郁闷。所以我的建议是:
- 查看你浏览器版本(Chrome右上角三个点 → 帮助 → 关于Google Chrome)
- 下载对应大版本的驱动(比如浏览器是118.x,就下载118版本的驱动)
- 把驱动放到一个固定目录,或者直接放到Python安装目录的Scripts文件夹里
webdriver-manager 这个库,它可以自动帮你管理驱动版本。安装命令:pip install webdriver-manager。之后写代码时它会自动下载匹配的驱动,省心不少。
1.5 第一个自动化脚本:让浏览器听你指挥
好了,环境都搭好了。咱们来写第一个脚本,让浏览器打开百度首页。
新建一个 first_script.py 文件,输入以下代码:
from selenium import webdriver
from selenium.webdriver.chrome.service import Service
from webdriver_manager.chrome import ChromeDriverManager
# 使用webdriver-manager自动管理驱动
service = Service(ChromeDriverManager().install())
driver = webdriver.Chrome(service=service)
# 打开百度
driver.get("https://www.baidu.com")
# 打印页面标题
print("页面标题是:", driver.title)
# 等待3秒,让你看看效果
import time
time.sleep(3)
# 关闭浏览器
driver.quit()
代码解释:
webdriver.Chrome():启动Chrome浏览器driver.get():访问指定网址driver.title:获取当前页面的标题driver.quit():关闭浏览器并结束进程
运行脚本:
python first_script.py
如果一切顺利,你会看到Chrome浏览器自动打开,访问百度,然后控制台打印出页面标题,3秒后浏览器自动关闭。
1.6 常见问题与解决
你可能会遇到这些问题,我提前帮你列出来:
| 问题 | 原因 | 解决方法 |
|---|---|---|
| ModuleNotFoundError: No module named 'selenium' | 没安装Selenium,或者没激活虚拟环境 | 检查是否在虚拟环境中,重新运行 pip install selenium |
| WebDriverException: Message: 'chromedriver' executable needs to be in PATH | 驱动没放到PATH路径下 | 用webdriver-manager,或者手动把驱动放到Scripts文件夹 |
| SessionNotCreatedException: This version of ChromeDriver only supports Chrome version xx | 驱动版本和浏览器不匹配 | 下载对应版本的驱动,或者更新浏览器 |
1.7 本章小结
到这,环境基石就算打好了。你学会了:
- 安装Python并配置环境变量
- 使用虚拟环境隔离项目依赖
- 安装Selenium库
- 配置浏览器驱动
- 运行第一个自动化脚本
说白了,这些步骤你只要完整走一遍,后面写自动化脚本就只剩下“怎么写”的问题,而不是“为什么跑不起来”的问题了。
下一章,咱们开始真正玩转元素定位。到时候你会发现,让代码找到网页上的按钮,其实比想象中有意思得多。