应用介绍
Selenium 是一个用于自动化 Web 浏览器的工具。它支持多种浏览器(Chrome, Firefox, Edge 等)和多种编程语言(Python, Java, C# 等)。
步骤 1:安装 Python
如果你还没有安装 Python,请先安装。建议使用 Python 3.6 或更高版本。
- 下载 Python: 访问 Python 官方网站:https://www.python.org/downloads/
- 安装:
- 下载对应的安装包(Windows, macOS, Linux)。
- 在 Windows 上,运行安装程序时,务必勾选 "Add Python X.X to PATH" 选项,这样可以省去手动配置环境变量的麻烦。
- 按照提示完成安装。
- 验证安装: 打开命令行工具(Windows:
cmd或PowerShell;macOS/Linux:Terminal),输入以下命令并按回车:
如果显示 Python 版本号,则表示安装成功。<BASH>
步骤 2:安装 pip (Python 包管理器)
pip 通常会随 Python 一起安装。你可以验证它是否已经安装:
<BASH>
如果未安装或版本过旧,可以尝试以下命令更新或安装:
<BASH>
步骤 3:安装 Selenium 库
使用 pip 安装 Selenium Python 库。推荐在一个 虚拟环境 中安装,以避免包冲突。
- 打开命令行/终端。
- 安装 Selenium:
或者如果你想安装特定版本:<BASH><BASH> - 验证安装:
如果显示 Selenium 的信息(版本号、安装路径等),则表示安装成功。<BASH>
步骤 4:下载 WebDriver
Selenium 需要一个 "WebDriver" 来与实际的浏览器进行通信。每个浏览器都需要其特定的 WebDriver。
1. 确定你的浏览器版本:
- Chrome:
- 打开 Chrome 浏览器。
- 点击右上角的三个点(菜单)-> 帮助 -> 关于 Google Chrome。
- 记下你的 Chrome 版本号(例如:
Version 120.0.6099.110)。
- Firefox:
- 打开 Firefox 浏览器。
- 点击右上角的三条横线(菜单)-> 帮助 -> 关于 Firefox。
- 记下你的 Firefox 版本号。
- Edge:
- 打开 Edge 浏览器。
- 点击右上角的三个点(菜单)-> 帮助和反馈 -> 关于 Microsoft Edge。
- 记下你的 Edge 版本号。
2. 下载对应的 WebDriver:
- Chrome (ChromeDriver):
- 访问 ChromeDriver 官网。
- 重要: 自 Selenium 4.6.0 起,Selenium 可以自动管理 ChromeDriver,通常你不再需要手动下载。 但如果遇到问题,仍需手动下载。
- 如果手动下载,你需要下载与你 Chrome 浏览器版本 完全匹配或非常接近 的 ChromeDriver。
- Chrome 115 及以上版本:访问 Chrome for Testing availability,找到与你浏览器版本对应的
chromedriver。 - Chrome 114 及以下版本:在 ChromeDriver 官网找到对应的版本链接。
- Chrome 115 及以上版本:访问 Chrome for Testing availability,找到与你浏览器版本对应的
- 下载后解压,你会得到一个名为
chromedriver.exe(Windows) 或chromedriver(macOS/Linux) 的可执行文件。
- Firefox (GeckoDriver):
- 访问 GeckoDriver GitHub 发布页面。
- 下载与你 Firefox 浏览器版本兼容的
geckodriver。 - 下载后解压,你会得到一个名为
geckodriver.exe(Windows) 或geckodriver(macOS/Linux) 的可执行文件。
- Edge (MSEdgeDriver):
- 访问 Edge WebDriver 官网。
- 下载与你 Edge 浏览器版本兼容的
msedgedriver。 - 下载后解压,你会得到一个名为
msedgedriver.exe(Windows) 或msedgedriver(macOS/Linux) 的可执行文件。
3. 配置 WebDriver 的路径:
下载并解压 WebDriver 后,你需要让 Python 知道这个可执行文件在哪里。有几种方法:
方法 A (推荐 - 自动管理,Selenium 4.6+):
- 如果你使用的是 Selenium 4.6.0 或更高版本,并且你的浏览器(如 Chrome)与最新的驱动版本兼容,Selenium 会自动下载并管理 WebDriver。
- 你通常不需要做任何额外配置。
方法 B (推荐 - 将 WebDriver 放在系统 PATH 路径中):
- 将下载的 WebDriver 可执行文件(例如
chromedriver.exe)移动到一个已经添加到系统PATH环境变量的目录中。 - 常见的
PATH目录包括:- Windows:
C:\Windows\System32(不推荐直接放系统目录) 或创建一个新目录(例如C:\WebDriver)并将其添加到PATH。 - macOS/Linux:
/usr/local/bin或~/bin。
- Windows:
- 如何添加 PATH (Windows):
- 在搜索栏输入 "环境变量",选择 "编辑系统环境变量"。
- 点击 "环境变量" 按钮。
- 在 "系统变量" 下找到
Path变量,双击。 - 点击 "新建",然后输入你的 WebDriver 所在目录的完整路径(例如
C:\Drivers)。 - 点击确定,一路保存。
- 重要: 重启你的命令行工具,使
PATH变量生效。
- 如何添加 PATH (macOS/Linux):
- 编辑你的 shell 配置文件(例如
~/.bashrc,~/.zshrc,~/.profile)。 - 添加一行:
export PATH="/path/to/your/webdriver:$PATH" - 保存文件并运行
source ~/.bashrc(或对应的配置文件) 使其生效。
- 编辑你的 shell 配置文件(例如
- 将下载的 WebDriver 可执行文件(例如
方法 C (将 WebDriver 放在项目目录中,并指定路径):
将 WebDriver 文件直接放在你的 Python 脚本所在的目录中,或者项目中的一个子目录(例如
drivers/)。在代码中显式指定 WebDriver 的路径:
<PYTHON>
步骤 5:编写第一个 Selenium 脚本
现在,所有配置都已完成,我们可以编写一个简单的 Python 脚本来测试 Selenium。
<PYTHON>
运行脚本:
- 将上述代码保存为
test_selenium.py文件。 - 打开命令行/终端。
- 进入到你保存
test_selenium.py文件的目录。 - 运行命令:
<BASH>
你将看到 Chrome 浏览器自动打开,访问百度,输入搜索内容,并显示结果,最后关闭浏览器。
步骤 6 (可选):使用虚拟环境
强烈建议在开发 Python 项目时使用虚拟环境,特别是当你在多个项目中使用不同版本的库时。
- 创建虚拟环境:
<BASH>
- 激活虚拟环境:
- Windows:
<BASH>
- macOS/Linux:
<BASH>
(myenv),表示你正在虚拟环境中。 - Windows:
- 在虚拟环境中安装 Selenium:
这样,Selenium 就只会安装在这个虚拟环境中,不会影响系统全局的 Python 包。<BASH> - 运行脚本: 在激活虚拟环境的状态下,直接运行
python test_selenium.py。 - 退出虚拟环境:
<BASH>
常见问题与解决方案:
selenium.common.exceptions.WebDriverException: Message: 'chromedriver' executable needs to be in PATH.- 这意味着 WebDriver 未能找到。请检查 WebDriver 是否已下载、是否与浏览器版本匹配,并且其路径是否已正确配置(添加到 PATH 或在代码中指定)。
SessionNotCreatedException: Message: session not created: This version of ChromeDriver only supports Chrome version XX- 你的 ChromeDriver 版本与 Chrome 浏览器版本不匹配。请下载与你当前 Chrome 浏览器版本兼容的 ChromeDriver。
AttributeError: 'NoneType' object has no attribute 'quit'- 这通常发生在
driver对象在try块中未能成功初始化(例如,启动浏览器失败),但在finally块中你仍然尝试调用driver.quit()。 if 'driver' in locals() and driver:这个判断就是为了避免这个问题。
- 这通常发生在
- 浏览器闪退或立即关闭
- 可能是脚本执行太快,或者在获取元素之前页面没有完全加载。
- 使用
time.sleep()增加等待时间(不推荐在生产代码中大量使用,应使用显式等待)。 - 使用 Selenium 的显式等待 (
WebDriverWait) 进行更健壮的元素等待。
通过以上步骤,你应该能够成功配置 Python Selenium 环境,并开始进行 Web 自动化测试和爬虫开发。
©软件著作权归作者所有。本站所有软件均来源于网络,仅供学习使用,请支持正版!
转载请注明出处: 张伟江博客 » Python Selenium 配置教程


发表评论 取消回复