基于 Node.js 的测试自动化框架,通过 WebDriver、BiDi 和 Appium 驱动浏览器与移动应用进行端到端测试。
SeleniumHQ/selenium
Selenium 是一套基于 W3C WebDriver 标准的浏览器自动化工具与库集合。
- Star
- 34,563
- Fork
- 8,730
- 未关闭 Issue
- 196
- 最近提交
- 18小时前
这是什么?
Selenium 为 W3C WebDriver 规范提供底层实现。WebDriver 是一套与平台和编程语言无关的接口,用于控制主流网页浏览器。Selenium 常用于编写浏览器测试脚本,或自动化重复性的网页操作。
项目提供多种语言绑定,包括 Java、Python、C#、JavaScript、Ruby 和 Rust,支持所有主流浏览器。Selenium Manager 负责查找和配置浏览器及其驱动。
本仓库主要面向贡献者,使用 Bazel 构建,并包含本地开发环境搭建、按规模和标签运行测试以及发布流程等说明。
核心功能
- 01实现 W3C WebDriver 规范,支持跨浏览器控制。
- 02提供 Java、Python、C#、JavaScript、Ruby 和 Rust 语言绑定。
- 03内置 Selenium Manager,用于查找和管理浏览器与驱动。
- 04在 Chrome、Edge 和 Firefox 中支持无头模式。
- 05基于 Bazel 构建,并可按规模和标签筛选测试。
适用场景
- 为 Web 应用编写跨多款浏览器的端到端测试。
- 自动化重复性的网页操作,例如表单填写或数据采集。
- 基于 Selenium 搭建浏览器测试基础设施。
快速上手
- 1
安装 Bazelisk(Bazel 包装器)
- 2
安装 Java JDK 17 或更高版本并设置 JAVA_HOME
- 3
构建 Selenium Grid
bazel build grid
使用前须知
- 该 README 面向贡献者,普通用户应参考单独的用户手册。
- 构建需要 Bazel、JDK 17 及以上版本以及特定平台的工具链,环境配置较重。
- Windows 环境配置复杂,需要 MSYS2 和 Visual Studio 构建工具。
- Apple Silicon Mac 可能需要修改 Rosetta 相关配置。
收录于专题
标签
常见问题
- selenium 是什么?
- Selenium 是一套基于 W3C WebDriver 标准的浏览器自动化工具与库集合。 Selenium 为 W3C WebDriver 规范提供底层实现。WebDriver 是一套与平台和编程语言无关的接口,用于控制主流网页浏览器。Selenium 常用于编写浏览器测试脚本,或自动化重复性的网页操作。
- selenium 可以免费使用吗?用的什么许可证?
- selenium 以 Apache-2.0 许可证开源。用于商业产品前,请先确认许可证条款。
- selenium 还在维护吗?
- 活跃维护中。selenium 最近一次提交是在 2026年10月24日。
- selenium 适合用来做什么?
- 为 Web 应用编写跨多款浏览器的端到端测试。 自动化重复性的网页操作,例如表单填写或数据采集。 基于 Selenium 搭建浏览器测试基础设施。
- selenium 怎么安装和运行?
- 安装 Bazelisk(Bazel 包装器) 安装 Java JDK 17 或更高版本并设置 JAVA_HOME 构建 Selenium Grid: bazel build grid
- 在哪里获取 selenium?
- 源代码和安装说明在 GitHub 上:https://github.com/SeleniumHQ/selenium
概要由 AI 根据项目 README 生成;GitHub 数据每日更新。
相关项目
98552707TypeScriptMIT更新于 13小时前
用统一 API 自动化控制 Chromium、Firefox 和 WebKit 浏览器的 Python 库,支持同步与异步两种调用方式。
1.5万+7 本周1251PythonApache-2.0更新于 昨天
Playwright 是一个用于 Web 测试与自动化的框架,通过统一 API 驱动 Chromium、Firefox 和 WebKit。
9.8万+132 本周6680TypeScriptApache-2.0更新于 14小时前
Midscene.js 是一个基于视觉的 E2E 测试框架,可用自然语言编写 Web、移动端和桌面应用的界面操作与断言。
1.5万+12 本周1201TypeScriptMIT更新于 前天
面向 Web 与移动应用的端到端测试框架,可用自然语言描述测试目标,由智能体驱动应用完成。
1.2万+127 本周619TypeScriptApache-2.0更新于 昨天
基于 Selenium 的 Python 浏览器自动化库,可按页面可见文字而非 CSS 选择器或 XPath 定位元素。
8322513PythonMIT更新于 3天前