2、环境搭建:Python环境配置、Selenium库安装、浏览器驱动下载与配置
说实话,很多同学学浏览器自动化,最后卡住的不是代码逻辑,而是环境没搭好。我见过太多人花了两小时装驱动,结果连个浏览器都打不开。咱们今天就把这事一次性搞定。
嗯,先说说我的习惯。我一般会在项目开始前,花15分钟把环境理清楚。别小看这一步,它能帮你省下后面至少两小时的排错时间。
2.1 Python环境配置
Python版本这事,我建议你选3.8以上。为什么?因为Selenium 4.x版本对Python 3.7以下的支持已经不太好了。我在一个老项目里吃过亏,当时用的Python 3.6,装Selenium 4死活报错,最后发现是版本不兼容。
具体步骤其实很简单:
- 去Python官网下载安装包(python.org)
- 安装时记得勾选「Add Python to PATH」
- 打开命令行,输入
python --version验证
创建虚拟环境的命令:
python -m venv selenium_env
# Windows下激活
selenium_env\Scripts\activate
# Mac/Linux下激活
source selenium_env/bin/activate
看到命令行前面多了个 (selenium_env) 前缀,就说明环境激活成功了。
2.2 Selenium库安装
Selenium的安装,说白了就是一行命令的事。但这里有个坑——版本选择。
我建议你直接装最新版。目前稳定版是4.x系列。为什么?因为4.x比3.x的API更简洁,而且内置了相对定位器,写起代码来舒服很多。
pip install selenium
如果你想指定版本:
pip install selenium==4.15.0
pip install selenium -i https://pypi.tuna.tsinghua.edu.cn/simple
装完之后,验证一下:
python -c "import selenium; print(selenium.__version__)"
如果输出版本号,就说明装好了。
2.3 浏览器驱动下载与配置
这一步是新手最容易翻车的地方。说白了,Selenium需要通过一个「驱动」来操控浏览器。这个驱动就像翻译官,把Python代码翻译成浏览器能听懂的命令。
不同浏览器需要不同的驱动:
| 浏览器 | 驱动名称 | 下载地址 |
|---|---|---|
| Chrome | chromedriver | chromedriver.chromium.org |
| Firefox | geckodriver | github.com/mozilla/geckodriver |
| Edge | edgedriver | developer.microsoft.com/en-us/microsoft-edge/tools/webdriver |
这里有个关键点:驱动版本必须和浏览器版本匹配。我刚开始做自动化时,就因为这个折腾了一下午。Chrome浏览器自动更新了,但驱动还是老版本,结果一直报错。
chrome://version/ 就能看到版本号。
下载完驱动后,有两种配置方式:
方式一:放到系统PATH里(推荐)
把驱动文件放到Python安装目录的Scripts文件夹下,或者放到项目根目录。这样代码里就不用写路径了。
from selenium import webdriver
# 驱动在PATH里,直接这样写就行
driver = webdriver.Chrome()
方式二:指定驱动路径
如果你想把驱动放在别的地方,那就得手动指定路径:
from selenium import webdriver
from selenium.webdriver.chrome.service import Service
service = Service(r'D:\drivers\chromedriver.exe')
driver = webdriver.Chrome(service=service)
2.4 验证环境是否搭好
环境搭没搭好,跑个简单脚本就知道了:
from selenium import webdriver
driver = webdriver.Chrome()
driver.get('https://www.baidu.com')
print('页面标题:', driver.title)
driver.quit()
如果浏览器自动打开,跳转到百度首页,控制台输出了页面标题,那就恭喜你——环境搭好了!
- 「chromedriver executable needs to be in PATH」——驱动没放到PATH里,或者路径不对
- 「session not created」——驱动版本和浏览器版本不匹配
- 「Connection refused」——端口被占用,重启电脑试试
嗯,环境搭建这部分就这些内容。说白了就是三步走:装Python、装Selenium、配驱动。每一步都有坑,但只要你按我说的来,基本不会出问题。
我记得有一次给客户做演示,现场环境没配好,浏览器死活打不开。从那以后,我每次都会提前准备好一个「环境验证脚本」,跑一遍没问题再开始干活。你也试试这个习惯,真的能省很多事。