英文原文正文为项目原始 README(英文),本站后续会翻译为中文,当前仅剔除图片与无关章节并统一排版。
无头浏览器
✨ 通过 MemoryPlugin [赞助] 在你所有的 AI 工具中获得长期记忆
几乎存在的所有无头网页浏览器列表
一种没有图形用户界面的网页浏览器,通过编程控制。用于自动化、测试及其他用途。
浏览器引擎
这些浏览器引擎可以完全渲染网页或在虚拟DOM中运行JavaScript
名称 | 关于 | 支持的语言 | 许可证 :------------ |:---------------| :----- | :-----------
|Chromium Embedded Framework |CEF是一个基于Google Chromium项目的开源项目。 | JavaScript | BSD |
|Erik | 基于Kanna和WebKit的无头浏览器。 | Swift | MIT |
|jBrowserDriver | 一个与Selenium兼容的无头浏览器,完全用Java编写。基于WebKit。可与任何Selenium Server绑定一起使用。 | Java | Apache License v2.0 |
|PhantomJS | [已停止维护] PhantomJS 是一个可通过JavaScript API脚本化的无头WebKit浏览器。它对各种Web标准提供快速且原生的支持:DOM处理、CSS选择器、JSON、Canvas和SVG。 | JavaScript, Python, Ruby, Java, C#, Haskell, Objective-C, Perl, PHP, R(通过 Selenium) | BSD 3-Clause |
|Splash | Splash 是一个带有HTTP API的JavaScript渲染服务。它是一个轻量级浏览器,带有HTTP API,由Python使用Twisted和QT实现。 | 任意 | BSD 3-Clause |
|Surf|Surf是一个开源项目,实现了可通过程序控制的虚拟网页浏览器 | Go | MIT
多驱动
这些库可以控制多个浏览器引擎(通常使用 Selenium)
名称 | 介绍 | 支持的语言 | 许可证 :------------ |:---------------| :----- | :-----------
|CasperJS | [不再维护] CasperJS 是一个开源导航脚本和测试工具,用 JavaScript 编写,适用于 PhantomJS WebKit 无头浏览器和 SlimerJS(Gecko)。 | JavaScript | MIT |
|Geb | Geb 是 WebDriver 的 Groovy 接口。| Groovy | Apache |
|Playwright | Playwright 是一个 Node 库,用单一 API 自动化 Chromium、WebKit 和 Firefox 浏览器 | TypeScript | Apache |
|playwright-dotnet | Playwright for .NET 是一个库,用单一 API 自动化 Chromium、Firefox 和 WebKit 浏览器。 | .NET | MIT |
|playwright-python | Playwright for Python 是一个库,用单一 API 自动化 Chromium、Firefox 和 WebKit 浏览器。 | Python | Apache |
|playwright-java | Playwright for Java 是一个库,用单一 API 自动化 Chromium、Firefox 和 WebKit 浏览器。 | Java | Apache |
|playwright-go | Playwright for Go 是一个库,用单一 API 自动化 Chromium、Firefox 和 WebKit 浏览器。 | Go | MIT |
|Selenium | Selenium 是一套用于跨多个平台自动化网页浏览器的工具。| JavaScript, Python, Ruby, Java, C#, Haskell, Objective-C, Perl, PHP, R, C | Apache |
|Splinter | Splinter 是一个开源工具,用 Python 测试 web 应用程序。它允许你自动化浏览器操作,例如访问 URL 和与项目交互。| Python | - |
|SST | SST(selenium-simple-test)是一个 web 测试框架,使用 Python 生成基于浏览器的功能测试。| Python | - |
|Watir | 使用 Ruby 最优雅的方式操作 Selenium WebDriver。| Ruby | MIT |
PhantomJS 驱动
这些库控制 PhantomJS
名称 | 介绍 | 支持的语言 | 许可证 :------------ |:---------------| :----- | :-----------
|Ghostbuster | 通过 phantom.js 实现自动化浏览器测试,消除所有困难!这意味着你得到一个真实浏览器,拥有真实 DOM,并且可以进行真实测试!| JavaScript | 未指定 |
|jedi-crawler | Lightsabing Node/PhantomJS 爬虫;抓取动态内容,无需麻烦 | JavaScript | 未指定 |
|Lotte| Lotte 是一个基于 PhantomJS 的无头自动化测试框架,灵感来自 Ghostbuster。 | JavaScript | MIT |
|phantompy | Phantompy 是一个无头 WebKit 引擎,具有强大的 Python 风格 API,构建在 Qt5 Webkit 之上|Python| LGPL-2.1 |
|X-RAY | 支持字符串、数组、对象数组、嵌套对象结构、选择器 API、分页、爬虫、并发、节流、延迟、超时和可插拔驱动(PhantomJS、HTTP)|JavaScript| MIT |
|Horseman | 基于 Promise 的 Node.js 模块,用于 PhantomJS。特点包括可链式 API、可理解的控制流、支持多个标签页以及内置 jQuery。|JavaScript| MIT |
Chromium 驱动
这些库用于控制 Chromium
名称 | 介绍 | 支持的语言 | 许可证 :------------ |:---------------| :----- | :-----------
|Awesomium | 基于 Chromium 的无头浏览器引擎|C , .NET| 免费/商业 |
|无头 Chromium | 使用 --headlesss 标志激活的 Chromium 功能,目前可在 Chromium 夜间构建中使用,尚未发布 | C | 开源 |
|Puppeteer | 来自 Chrome DevTools 团队的无头 Chrome Node API|JavaScript| Apache |
|PuppeteerSharp | PuppeteerSharp 是官方无头 Chrome Node.JS Puppeteer API 的 .NET 移植版|.NET| MIT |
|chrome-remote-interface | Node.js 用的 Chrome 调试协议接口|JavaScript| MIT |
|Chromy | 特点包括可链式 API、移动设备模拟、基本 API 如 JavaScript 评估。|JavaScript| MIT |
|chromedp | 使用 Chrome 调试协议,无需外部依赖(如 Selenium、PhantomJS 等)即可更快、更简单地驱动浏览器(Chrome、Edge、Safari、Android 等)|Go| MIT |
|Chromeless | Chrome 自动化变得简单。可在本地或 AWS Lambda 无头运行。 | JavaScript | MIT |
|Chrome PHP | 通过 Chrome Devtools 协议驱动 Chromium 或 Google Chrome 的 PHP API。 | PHP | 公平 |
|Wendigo | 基于 Puppeteer 的测试导向浏览器自动化库。 | JavaScript | GPL-3.0 |
|cdp4j | Java 的网页自动化库。可用于网页自动化和网页测试。它使用 Google Chrome DevTools 协议来自动化基于 Chrome/Chromium 的浏览器。 | Java | cdp4j 商业许可证 |
|Pyppeteer | Puppeteer JavaScript(无头)Chrome/Chromium 浏览器自动化库的 Python 版本 | Python | MIT |
|无头 Chrome | 一个用于通过 DevTools 协议控制无头 Chrome 或 Chromium 的高级 API。 | Rust | 无
Webkit 驱动
这些驱动程序控制 Webkit 的进程内实例
名称 | 关于 | 支持的语言 | 许可证 :------------ |:---------------| :----- | :-----------
|Browserjet | 运行自定义构建的 Webkit,通过 node.js 接口控制。 | JavaScript | 未指定 |
|ghost.py | ghost.py 是一个用 Python 编写的 Webkit Web 客户端。 | Python | MIT |
|headless_browser | 基于 WebKit 的无头浏览器,使用 C 编写。 | C | 未指定 |
|Jabba-Webkit | Jabba 的无头 Webkit 浏览器,用于抓取 AJAX 驱动的网页。 | Python | 未指定 |
|Jasmine-Headless-Webkit | jasmine-headless-webkit 使用 QtWebKit 小部件运行测试,而无需渲染像素。 | Python, JavaScript, Ruby | 免费 |
|Python-Webkit | Python-Webkit 是 Webkit 的 Python 扩展,可完全访问 Webkit 的 DOM。 | Python | GNU |
|Spynner | 支持 AJAX 的 Python 编程式网页浏览模块。 | Python | 未指定 |
|Webloop | 可脚本化的无头 WebKit,提供 Go API。 | Go | BSD 三条款 |
|wkhtmltopdf wkhtmltox wkhtmltoimage | 将 HTML 渲染为 PDF 及其他图像格式的命令行工具。 | shell, C | LGPLv3 |
|WKZombie | 基于 WebKit 和 hpple/libxml2 的 iOS 功能性无头浏览器(支持 JSON)。 | Swift | MIT |
其他驱动
这些库用于控制较不常见的浏览器或操作系统提供的网页库
名称 | 关于 | 支持的语言 | 许可证 :------------ |:---------------| :----- | :-----------
|Cypress | Cypress 支持端到端、集成和单元测试,并使调试测试变得简单。默认引擎是无界面的 Electron。 |JavaScript| MIT |
|Nightmare | Nightmare 是一个高级浏览器自动化库,作为 PhantomJS 的更简单替代方案。它运行在 Electron 引擎上。 |JavaScript| MIT |
|grope | macOS WebKit 框架的 RubyCocoa 接口 |RubyCocoa| MIT |
|SlimerJS | SlimerJS 类似于 PhantomJS,不过它运行 Gecko,即 Mozilla Firefox 的浏览器引擎,而不是 Webkit(并且它尚未真正无界面)。|JavaScript| Mozilla 2.0 |
|SpecterJS | PhantomJS 的可脚本化无界面 Internet Explorer 移植版。 | JavaScript | MIT |
|trifleJS | 使用 .NET WebBrowser 类的无界面 Internet Explorer 浏览器,带有在 V8 引擎上运行的 JavaScript API。|JavaScript| MIT |
伪浏览器引擎
这些库通常是简单或仅支持 HTML 的浏览器
| 名称 | 关于 | 支持的语言 | 许可 |
|---|---|---|---|
| AngleSharp | .Net HTTP解析库 | .NET | MIT |
| Guillotine | 一个用C#编写的.NET无头浏览器 | .NET | LGPL-3.0 |
| benv | 在 Node.js 中模拟浏览器环境并进行无头测试客户端代码 | JavaScript | MIT |
| browser.rb | 基于Nokogiri和TheRubyRacer的无头Ruby浏览器 | Ruby | 未指定 |
| BrowserKit | BrowserKit 模拟网页浏览器的行为 | PHP | MIT |
| DamonJS | 用于导航URL和执行任务的机器人 | JavaScript | Apache |
| Headless | .Net快速网页验收测试的无头浏览器支持 | .NET | MIT |
| HeadlessBrowser | 一个非常微型的无头浏览器,用于在Node.js上测试DOM | JavaScript | 未指定 |
| HtmlUnit | HtmlUnit是为Java程序设计的“无GUI浏览器” | Java | Apache |
| Jaunt | Java网页抓取和自动化API | Java | Apache(每月版) |
| Jauntium | 免费Java库,可轻松自动化Chrome、Firefox、Safari、Edge、IE及其他现代浏览器 | Java | Apache |
| JSDom | 用于Node.js的WHATWG DOM和HTML标准的JavaScript实现 | JavaScript | MIT |
| MechanicalSoup | 用于自动网站交互的Python库 | Python | MIT |
| mechanize | 有状态的编程网页浏览 | Python | BSD 3-Clause,ZPL 2.1 |
| node-as-browser | 在Node.js中创建类似浏览器的环境 | JavaScript | MIT |
| RoboBrowser | 一个无需独立浏览器即可浏览网页的简单Python库 | Python | BSD 3-Clause |
| SimpleBrowser | 为自动化任务设计的灵活直观的网页浏览器引擎,基于.Net 4框架 | .NET | BSD 3-Clause |
| twill | Twill是一种用于与基本HTML页面交互的简单语言(不支持JavaScript) | Python | MIT |
| WeasyPrint | WeasyPrint是一个HTML和CSS的可视化渲染引擎,可导出为PDF,旨在支持网页打印标准 | Python | BSD 3-Clause |
| WWW::Mechanize | 用于 Perl 的无头浏览器,具有许多插件和扩展,特别是用于测试的 Test::WWW:Mechanize | Perl | Perl 5 |
| X-RAY | 支持字符串、数组、对象数组、嵌套对象结构、选择器 API、分页、爬虫、并发、节流、延迟、超时,以及可插拔驱动(PhantomJS,HTTP) | JavaScript | MIT |
| Xidel (互联网工具) | 一个基于 XQuery 的命令行网页爬虫,用于静态 X/HTML 页面和 JSON-API。 | FreePascal, XQuery | GPL-2 |
| Zombie.js | Zombie.js 是一个轻量级框架,用于在模拟环境中测试客户端 JavaScript 代码。无需浏览器。 | JavaScript | MIT |
在浏览器中运行
名称 | 关于 | 支持的语言 | 许可证 :------------ |:---------------| :----- | :-----------
|DalekJS | [不再维护,推荐使用 TestCafé] 使用 JavaScript 进行自动化跨浏览器测试。|JavaScript| MIT |
|TestCafé | 现代网络开发堆栈的自动化浏览器测试。|JavaScript| MIT |
|Sahi | Sahi 是一个跨浏览器自动化/测试工具,具有录制和回放脚本的功能。|JavaScript, Java, Ruby, PHP| Apache / 商业 |
|WatiN | .Net中的Web应用程序测试|.NET| Apache 2.0 |
其他工具
名称 | 关于 | 支持的语言 | 许可证 :------------ |:---------------| :----- | :-----------
|browser-launcher | 检测并启动浏览器版本,无论是否以无头模式|JavaScript| MIT |
|Headless Recorder | Chrome 扩展程序,记录您的浏览器操作并生成 Playwright 或 Puppeteer 脚本 |JavaScript| MIT |
- 本文标题:HeadlessBrowsers - 几乎所有现存的无头网页浏览器列表
- 本文链接:https://cn121.com/automation/dhamaniasad-headlessbrowsers.html
- 原项目:dhamaniasad/HeadlessBrowsers 版权归原作者 dhamaniasad 及贡献者所有
- 收录信息:本站于 2026-10-10 收录本项目,本页所列协议与仓库指标均为收录当时的状态;该日期之后原项目的版本更新与协议变更,本页不作同步。
- 开源协议:收录时本项目采用 CC0-1.0(查看 LICENSE 原文),本站转载其原始文档(未改动文字,仅剔除图片与无关章节);使用、修改、分发请以该仓库 LICENSE 原文为准。
- 站点出处:本文首发于 OneTwoOne,收录自 GitHub 开源项目 dhamaniasad/HeadlessBrowsers。
- 内容说明:本页正文为原项目 README 原文(英文),本站后续会翻译为中文(当前尚未译出,仅将二级标题译为中文,便于按栏目定位;标题原文可在下方原仓库中查看),仅剔除了图片与赞助等无关章节、并把相对链接改为绝对地址;页首简介为机器翻译自仓库描述。
- 引用声明:商业转载、第三方聚合或 AI 检索训练引用时,请务必保留以上来源出处、本文永久链接,以及原项目的版权声明与许可信息。
- 下架通道:若原项目此后变更或收紧了许可协议、或作者/权利人认为本站的收录方式(译文、排版适配、简介翻译等)超出其授权范围,请通过 xyd3302001@163.com 发送下架通知,并附上项目地址与本页链接。本站核实后将第一时间删除本页内容,或改为不复制原文的目录性收录;署名更正等其他要求可一并提出。