Selenium 浏览器自动化:Python 测试与爬虫实战指南

面向初学者的在线Python训练器

轻松学习Python,无需理论负担。在浏览器中直接解决带自动检查的实践任务,无需安装任何东西。

开始课程

什么是 Selenium?为什么需要它?

Selenium 是一个强大的开源框架,专门用于自动化 Web 浏览器操作。这个库让开发者能够以编程方式控制浏览器,模拟真实用户行为:页面导航、表单输入、元素点击、下拉菜单操作以及更多交互动作。

Selenium 广泛应用于开发和测试的多个领域。主要使用场景包括:用户界面自动化测试、动态网站数据抓取、浏览器重复任务自动化,以及 Web 应用功能验证。

Selenium 的核心功能与优势

跨浏览器支持

Selenium 完美兼容所有主流浏览器,包括 Google Chrome、Mozilla Firefox、Microsoft Edge、Safari 和 Opera。这意味着同一套代码只需少量修改即可在不同浏览器上运行。

真实用户行为模拟

该框架能够精确模拟几乎所有的用户操作:鼠标左右键点击、拖拽元素、页面滚动、键盘输入、模态框处理等等。

灵活的元素定位方式

Selenium 提供多种页面元素定位方法:通过 ID、类名、标签名、CSS 选择器、XPath 表达式、链接文本及其他属性。这确保了处理不同类型网页时的最大灵活性。

无头模式支持

浏览器无头模式(无图形界面)让 Selenium 成为服务器、容器和 CI/CD 流水线中自动化的理想选择。

高级功能

Selenium 支持多标签页和多窗口操作、处理 JavaScript 弹窗、管理 Cookie 和会话、配置代理服务器、截图以及保存页面 HTML 代码。

Selenium 安装与配置

安装核心库

开始使用 Selenium 前,需要通过 pip 安装核心库:

pip install selenium

下载并配置浏览器驱动

每个浏览器都需要对应的驱动程序。最常用的是 Chrome 浏览器的 ChromeDriver。从 Chrome 115 版本开始,建议使用 Chrome for Testing,可从 Google 官网下载。

务必确保驱动版本与已安装的浏览器版本匹配。为简化流程,可使用 webdriver-manager 等工具:

pip install webdriver-manager

自动管理驱动

现代驱动管理方式推荐使用驱动管理器:

from selenium import webdriver
from webdriver_manager.chrome import ChromeDriverManager
from selenium.webdriver.chrome.service import Service

service = Service(ChromeDriverManager().install())
driver = webdriver.Chrome(service=service)

Selenium 基础操作

启动浏览器与基本操作

以下是一个启动浏览器并进行页面导航的基础示例:

from selenium import webdriver
from selenium.webdriver.chrome.options import Options

# 配置浏览器选项
options = Options()
options.add_argument('--no-sandbox')
options.add_argument('--disable-dev-shm-usage')

# 初始化驱动
driver = webdriver.Chrome(options=options)

# 页面导航
driver.get("https://example.com")
print(f"页面标题: {driver.ti                    

推荐