Selenium 简介

Selenium 简介

Selenium 是一个开源的 Web 自动化测试与浏览器控制工具集,广泛用于:

  • 自动化功能测试
  • 端到端(E2E)测试
  • 动态网页数据抓取(爬虫)
  • 模拟真实用户行为(如登录、填表、点击)

一、Selenium 的核心组件

组件功能
Selenium WebDriver核心 API,直接控制浏览器(推荐使用)
Selenium IDE浏览器插件,录制/回放脚本(适合初学者)
Selenium Grid分布式执行,支持多浏览器并行测试

目前主流:Selenium WebDriver(Selenium 4+)


二、支持的语言与浏览器

支持语言

  • Python(最流行)
  • Java
  • C#
  • Ruby
  • JavaScript (Node.js)
  • Kotlin

支持浏览器

浏览器WebDriver
ChromeChromeDriver
FirefoxGeckoDriver
EdgeEdgeDriver
SafariSafariDriver(macOS 自带)
IEIEDriverServer

三、Selenium 4 主要新特性(2021 发布)

特性说明
W3C 标准协议更稳定,取代旧的 JSON Wire Protocol
相对定位(Relative Locators)above(), below(), toLeftOf(), near()
新窗口/标签页管理newWindow(), open new tab/window
Chrome DevTools 协议支持截屏、监听网络、模拟地理位置
更好的 Docker 支持官方镜像,便于 CI/CD

四、Selenium vs 其他工具

工具用途与 Selenium 对比
Puppeteer控制 Chrome(Node.js)更快、更轻量,但仅限 Chromium
Playwright多浏览器自动化更现代、自动等待、更强容错
Cypress前端 E2E 测试运行在浏览器内,调试友好
Requests + BeautifulSoup静态爬取无法处理 JS 渲染

Selenium 优势:跨浏览器、跨语言、社区庞大、成熟稳定


五、典型应用场景

1. 自动化测试:登录 → 填写表单 → 验证结果
2. 动态爬虫:渲染 JavaScript,抓取 AJAX 数据
3. RPA(机器人流程自动化):批量操作网站
4. 截图/生成 PDF:自动化报告
5. 压力测试辅助:模拟用户点击

六、快速上手(Python 示例)

from selenium import webdriver
from selenium.webdriver.common.by import By

driver = webdriver.Chrome()
driver.get("https://www.baidu.com")

# 输入并搜索
driver.find_element(By.ID, "kw").send_keys("Selenium")
driver.find_element(By.ID, "su").click()

print("标题:", driver.title)
driver.quit()

七、学习资源

类型链接
官网https://www.selenium.dev
文档https://www.selenium.dev/documentation/
Python 包pip install selenium
驱动管理pip install webdriver-manager

八、一句话总结

Selenium = 程序控制真实浏览器,像人一样操作网页。


下一步建议
学习 → Selenium 教程(完整版)
实战 → 爬取一个动态网站(如微博热搜、电商商品)

需要我用 5 分钟带你跑通第一个 Selenium 脚本 吗?回复 demo 即可!

类似文章

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注