第2章:环境搭建——Python环境、Selenium库安装、浏览器驱动配置

说实话,很多同学学浏览器自动化,第一个拦路虎不是代码本身,而是环境搭建。我见过太多人卡在这一步,折腾一整天连个浏览器都打不开。别急,跟着我来,一步步搞定。

2.1 Python环境:选对版本,少走弯路

我个人习惯用Python 3.8到3.11之间的版本。为什么?因为Selenium对最新版Python的支持有时候会慢半拍。我在项目中遇到过Python 3.12刚发布时,某些第三方库还没适配,折腾了半天才发现是版本问题。

下载安装步骤:

  1. 去Python官网(python.org)下载安装包
  2. 安装时记得勾选「Add Python to PATH」——这个很重要,我一开始就忘了勾,后面命令行里死活找不到python命令
  3. 安装完成后,打开命令行(CMD或终端),输入:
python --version

如果显示版本号,说明安装成功。如果提示「不是内部或外部命令」,嗯,那就是PATH没配好,重新安装一遍,勾上那个选项就行。

小技巧: 我建议用虚拟环境来管理项目依赖。每个项目独立一套环境,互不干扰。用 venv 模块就能搞定:
python -m venv myenv
myenv\Scripts\activate  # Windows
source myenv/bin/activate  # Mac/Linux

2.2 Selenium库安装:一行命令搞定

Python环境配好后,安装Selenium就简单了。打开命令行,输入:

pip install selenium

等等,如果你用的是Python 3,可能需要用pip3:

pip3 install selenium

为什么会这样?因为有些电脑上同时装了Python 2和Python 3,pip默认指向Python 2。你想想看,要是装错了版本,后面代码跑起来全是坑。

安装完成后,验证一下:

pip show selenium

能看到版本信息就对了。我目前用的是Selenium 4.x版本,相比3.x改了不少API,但核心用法差不多。

避坑指南: 我曾经在公司的内网环境里装Selenium,pip连不上外网。解决办法是用离线包,或者配置国内镜像源:
pip install selenium -i https://pypi.tuna.tsinghua.edu.cn/simple

2.3 浏览器驱动配置:ChromeDriver与GeckoDriver

这是最容易出问题的一步。说白了,Selenium是通过浏览器驱动来操控浏览器的。你装好了Selenium,但没装驱动,浏览器照样打不开。

2.3.1 ChromeDriver(对应Chrome浏览器)

步骤:

  1. 先查看你Chrome浏览器的版本。打开Chrome,地址栏输入 chrome://version/,看到版本号,比如「120.0.6099.109」
  2. 去ChromeDriver官网(chromedriver.chromium.org)下载对应版本的驱动
  3. 下载后解压,得到一个chromedriver.exe(Windows)或chromedriver(Mac/Linux)
  4. 把这个文件放到Python的Scripts目录下,或者放到你的项目目录里

我个人习惯把驱动放到项目根目录,然后在代码里指定路径:

from selenium import webdriver

driver = webdriver.Chrome(executable_path='./chromedriver')

不过Selenium 4.x之后,如果你把chromedriver放到了PATH环境变量里,可以直接这样写:

driver = webdriver.Chrome()
注意: 版本必须匹配!Chrome 120版本就用120的驱动,用119的驱动会报错。我曾经因为偷懒没更新驱动,调试了整整两个小时,最后发现是版本不匹配。

2.3.2 GeckoDriver(对应Firefox浏览器)

如果你用Firefox,那就需要GeckoDriver。步骤类似:

  1. 去GitHub的mozilla/geckodriver页面下载对应系统的版本
  2. 解压后放到PATH路径下,或者项目目录里
  3. 代码里这样用:
driver = webdriver.Firefox(executable_path='./geckodriver')

我个人其实更推荐用Chrome,因为Chrome的开发者工具更强大,调试起来方便。但如果你要做跨浏览器测试,那Firefox也得配好。

2.4 验证环境:写个简单脚本试试

环境都配好了?来,写个最简单的脚本验证一下:

from selenium import webdriver

driver = webdriver.Chrome()
driver.get('https://www.baidu.com')
print(driver.title)
driver.quit()

如果运行后能打开百度,并且打印出「百度一下,你就知道」,那恭喜你,环境搭建成功了!

常见报错及解决:
报错信息 原因 解决方法
WebDriverException: Message: 'chromedriver' executable needs to be in PATH 驱动没放到PATH里 把驱动放到Scripts目录,或指定executable_path
SessionNotCreatedException: This version of ChromeDriver only supports Chrome version xx 驱动版本和浏览器不匹配 下载对应版本的驱动
ModuleNotFoundError: No module named 'selenium' Selenium没安装或装错了环境 检查pip list,确认安装成功

2.5 我的建议:一次配好,一劳永逸

环境搭建这东西,说白了就是一次性的工作。配好了,后面几十章都能用。我建议你把驱动文件统一放到一个文件夹里,比如 C:\webdrivers,然后把这个路径加到系统环境变量PATH里。这样不管你在哪个项目里写代码,都不用再操心驱动路径的问题。

嗯,这一章就到这儿。环境搭好了,下一章我们就可以真正开始写自动化脚本了。到时候你会发现,前面这些折腾都是值得的。