Magnitude:强!这款基于Al视觉的Web自动化框架,如何实现高效识别?
摘要:你是否还在为脆弱的 Web 自动化测试而烦恼?XPath 变更、CSS 选择器失效、DOM 结构调整,这些问题是不是经常让你的自动化脚本功亏一篑?今天要给大家介绍的 Magnitude,可能会彻底改变你对 Web
你是否还在为脆弱的 Web 自动化测试而烦恼?XPath 变更、CSS 选择器失效、DOM 结构调整,这些问题是不是经常让你的自动化脚本功亏一篑?今天要给大家介绍的Magnitude,可能会彻底改变你对 Web 自动化的认知。
大多数浏览器自动化工具(如Selenium、Playwright)依赖于DOM结构来定位元素。但现代网站的DOM结构越来越复杂,稍一变动脚本就会失效。
概括起来,传统的 Web 自动化工具(如 Selenium、Playwright)会存在两大痛点:
依赖 DOM 结构:一旦页面元素的属性或层级发生变化,脚本就会失效
指令僵化:只能执行固定流程,遇到意外情况无法自主调整
而 Magnitude 凭借两大创新彻底解决了这些问题:
视觉优先架构:通过多模态大模型直接分析页面截图,基于像素坐标执行操作,完全不依赖 DOM 结构
可控且可重复的自动化:支持从精细操作到复杂流程的不同抽象级别,结合自定义提示词,既灵活又可预测。
什么是 Magnitude?
Magnitude 是一款基于AI视觉 的 Web 自动化框架,它彻底摆脱了传统自动化工具对 DOM 结构的依赖,通过模拟人类视觉和交互方式来操控浏览器。简单来说,它不是通过查找元素的 ID 或类名来操作页面,而是像人一样 "看到" 界面并做出反应。
Magnitude的革命性在于:它不依赖DOM,而是直接“看”屏幕!就像人类通过视觉识别按钮、输入框一样,它通过像素坐标来定位和操作元素。
💡这意味着:无论网站如何重构,只要视觉元素存在,Magnitude就能找到它,大大提高了自动化的鲁棒性和通用性
这个框架另外的一个厉害之处在于,它在 WebVoyager 评测中获得了 94% 的高分,这意味着它在处理各种复杂 Web 任务时具有接近人类的能力。
核心功能
Magnitude 提供了四大核心能力,覆盖 Web 自动化的全场景需求:
智能导航(Navigate):理解任何网页界面,并规划操作操作路径
精准交互(Interact):通过鼠标和键盘执行精确操作
数据提取(Extract):智能提取结构化数据
结果验证(Verify):内置测试运行器,支持强大的视觉断言
你可以用它来:
自动化Web任务
在无API的应用之间进行集成
提取数据
测试Web应用
作为自定义浏览器代理的构建块
适用场景
Magnitude 适合多种场景:
前端自动化测试,尤其适合频繁迭代的项目
跨应用数据同步和工作流自动化
网页数据提取和分析
构建自定义浏览器代理
辅助开发人员进行重复性操作
快速上手
想要体验 Magnitude 非常简单,有两种方式可以快速开始:
方式一:创建自动化项目
npx create-magnitude-app
这条命令会创建一个新的项目,并引导你完成 Magnitude 的设置,还会生成一个可以立即运行的示例脚本!
方式二:在现有项目中使用测试运行器
npm i --save-dev magnitude-test && npx magnitude init
初始化后会生成:
magnitude.config.ts:配置文件
example.mag.ts:示例测试文件
Magnitude 的 API 设计非常直观,支持从高层任务到底层操作的各种需求:
# 处理高层任务
await agent.act('创建一个任务', {
data: {
title: '使用 Magnitude',
description: '运行 "npx create-magnitude-app" 并跟随指示',
},
});
# 也能处理底层操作
await agent.act('将"使用 Magnitude"拖拽到"进行中"列的顶部');
# 智能提取数据
const tasks = await agent.extract(
'列出进行中的任务',
z.array(z.object({
title: z.string(),
description: z.string(),
difficulty: z.number().describe('难度评级 1-5')
})),
);
AI会理解你的意图,并自动分解为一系列精确的鼠标和键盘操作。
