首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >Github 17.6k star,一款AI智能驱动+Web自动测试开源神器!

Github 17.6k star,一款AI智能驱动+Web自动测试开源神器!

作者头像
测试开发技术
发布2025-11-29 16:56:21
发布2025-11-29 16:56:21
4130
举报
文章被收录于专栏:测试开发技术测试开发技术

在过去很长一段时间里,网页自动化都是一件“又繁琐又容易出错”的事情。无论是 Selenium、Puppeteer,还是 Playwright,这些工具虽然功能强大,但都依赖复杂的 DOM 结构、XPath 或 CSS Selector。一旦网页结构变化,脚本往往就会“崩溃”。如今,一个新型的开源项目——Skyvern,正在用大语言模型(LLM)和计算机视觉(Computer Vision)重新定义浏览器自动化。

Skyvern 是什么?

Skyvern 是一款结合了大语言模型(LLM)和计算机视觉(Computer Vision)的开源自动化工具,它的目标是让 AI 能够像人类一样理解网页并执行任务。不同于传统的浏览器自动化工具(如 Selenium 或 Puppeteer)那样依赖复杂的 XPath、CSS Selector 或 DOM 解析,Skyvern 采用了“看”和“理解”的方式来操作网页。

图片
图片

Skyvern提供了一个简单的 API,让开发者可以通过自然语言描述来完成一系列网页自动化操作,比如自动填写表单、登录账户、抓取数据、下载文件,甚至执行多步复杂流程。

更值得一提的是,Skyvern 的智能之处在于它几乎不受网页结构变化的影响。传统自动化脚本常常因为网页元素更新而“失效”,而 Skyvern 借助视觉识别与大模型推理,即使页面布局改动,也能通过理解网页内容继续完成任务。

让 AI 读懂网页

Skyvern 的设计灵感来自 BabyAGIAutoGPT 等任务驱动式智能体系统。 它将整个网页自动化流程拆分为三个模块:

1️⃣ Planner(规划器)

负责理解用户任务的文本描述(Prompt),并规划执行步骤。 例如:“登录网站并下载月度报表”。

2️⃣ Task(执行器)

通过浏览器自动执行相应操作(点击、填写、滚动、下载等)。Skyvern 内部使用了 Playwright 等浏览器库。

3️⃣ Validator(验证器)

负责检查结果是否正确完成,并在必要时重试或修正动作。

图片
图片

这种多智能体协作的方式,使得 Skyvern 拥有极高的泛化能力。它可以:

  • 从未见过的网站上执行任务;
  • 当网页布局变化时依然保持鲁棒性;
  • 能基于语言模型的理解进行逻辑推理,例如根据页面内容自动判断选项。

性能与评估

Skyvern 在官方基准测试 WebBench 中的表现非常突出。

在各种网页自动化任务(如填写表单、登录、下载文件等)中,它的成功率达到了64.4%,超过了多种传统 RPA 方案。

测试场景

成功率 (%)

Skyvern(人类监督)

66.0

Skyvern(自动)

64.4

OpenAI CLA

59.8

Skyvern 2.0 Browserbase

60.7

Browser Use Cloud

39.9

Skyvern 不仅能像传统脚本一样执行任务,还能更接近人类的操作方式,更稳定、更通用。

快速上手指南

Skyvern 提供了非常简单的安装与启动流程,几乎“一条命令”即可使用。

1️⃣ 安装依赖

  • Python 3.11(支持 3.12,但不推荐 3.13)
  • Node.js 与 npm
  • (Windows 用户)需额外安装 Rust、VS Code C++ 开发组件

2️⃣ 安装 Skyvern

代码语言:javascript
复制
pip install skyvern

3️⃣ 快速初始化

代码语言:javascript
复制
skyvern quickstart

4️⃣ 启动 UI

代码语言:javascript
复制
skyvern run all

打开浏览器访问 http://localhost:8080即可通过可视化界面创建和运行自动化任务。

一句话让 AI 执行任务

Skyvern 也支持通过 Python 代码直接调用,非常适合开发者在项目中集成。

代码语言:javascript
复制
from skyvern import Skyvern

skyvern = Skyvern()
task = await skyvern.run_task(prompt="Find the top post on Hacker News today")
print(task)

上面的代码会自动打开浏览器,执行提示中的任务,完成后返回结果,无须写 XPath、无须指定 DOM 结构,Skyvern 会自动“看懂网页”并完成操作。

控制浏览器与远程执行

✅ 控制本地浏览器

可以连接本地 Chrome 浏览器进行操作:

代码语言:javascript
复制
from skyvern import Skyvern
skyvern = Skyvern(default_user_data_dir="~/Library/Application Support/Google/Chrome")
task = await skyvern.run_task(prompt="Find top post on Hacker News today")

✅ 远程运行任务

Skyvern 也可以连接远程浏览器或云端执行:

代码语言:javascript
复制
skyvern = Skyvern(cdp_url="your_cdp_connection_url")
task = await skyvern.run_task(prompt="Download latest reports")

✅ 自定义输出格式

支持定义结构化结果输出(非常适合爬取和分析):

代码语言:javascript
复制
task = await skyvern.run_task(
  prompt="Find top post on Hacker News today",
  data_extraction_schema={
    "title": "string",
    "url": "string"
  }
)

Docker 部署

官方提供了 docker-compose 部署方案,非常方便团队或服务器端使用:

代码语言:javascript
复制
docker compose up -d

默认 UI 地址为:

代码语言:javascript
复制
http://localhost:8080

如需连接 PostgreSQL 或远程 LLM 服务,可在 docker-compose.yml 文件中修改配置。

总结

传统的网页自动化像是一场“手工活”,需要写大量选择器、测试各种页面状态,Skyvern 则通过 大模型 + 计算机视觉 + 智能体架构,让 AI 真正“看懂”网页,并自动完成复杂任务。在做数据采集、运营自动化,还是内部流程机器人(RPA),Skyvern 都可能成为你工具箱里最具潜力的一员。

Github 项目库:https://github.com/Skyvern-AI/skyvern

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2025-11-19,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 测试开发技术 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • Skyvern 是什么?
  • 让 AI 读懂网页
    • 1️⃣ Planner(规划器)
    • 2️⃣ Task(执行器)
    • 3️⃣ Validator(验证器)
  • 性能与评估
  • 快速上手指南
    • 1️⃣ 安装依赖
    • 2️⃣ 安装 Skyvern
    • 3️⃣ 快速初始化
    • 4️⃣ 启动 UI
  • 一句话让 AI 执行任务
  • 控制浏览器与远程执行
    • ✅ 控制本地浏览器
    • ✅ 远程运行任务
    • ✅ 自定义输出格式
  • Docker 部署
  • 总结
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档