1、环境基石:Python与Selenium的安装配置,以及第一个自动化脚本

好,咱们直接开始。做浏览器自动化,说白了就是让代码替我们操作网页。而这一切的起点,就是先把Python和Selenium这对搭档请进你的电脑。

我个人习惯把环境搭建比作盖房子的地基。地基没打好,后面写再多代码也是白搭。所以这一章,咱们稳扎稳打,一步步来。

1.1 Python环境安装:别小看这一步

Python的安装其实很简单,但有几个坑我得提前告诉你。

第一步:下载Python

去Python官网(python.org)下载最新稳定版。我建议选3.8以上版本,太老的版本有些库不支持。我自己现在用的是3.11,跑Selenium 4很稳。

第二步:安装时勾选“Add Python to PATH”

这个选项特别重要!我曾经帮一个同事排查问题,搞了半天发现他没勾这个,导致命令行里死活找不到python命令。你想想看,每次都要输完整路径,多麻烦。

⚠️ 避坑指南: 安装路径不要有中文或空格。我之前遇到过因为用户名是中文,导致pip安装某些库报错的情况。建议直接装到 C:\Python311 这种路径。

第三步:验证安装

打开命令行(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秒后浏览器自动关闭。

💡 第一次运行可能会慢一点: 因为webdriver-manager需要下载驱动文件。之后再用就快多了。我第一次跑这个脚本时,看到浏览器自己动起来,说实话还挺有成就感的。

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库
  • 配置浏览器驱动
  • 运行第一个自动化脚本

说白了,这些步骤你只要完整走一遍,后面写自动化脚本就只剩下“怎么写”的问题,而不是“为什么跑不起来”的问题了。

下一章,咱们开始真正玩转元素定位。到时候你会发现,让代码找到网页上的按钮,其实比想象中有意思得多。