新一代浏览器自动化插件,可视化拖拽搭建流程,无需编码
NutRPA 是一款基于 Chrome 扩展的 RPA(机器人流程自动化)工具,让你通过简单的拖拽操作,即可创建强大的浏览器自动化流程。
- 可视化流程设计 - 拖拽式操作,所见即所得
- 智能元素定位 - 支持 CSS 选择器、XPath、锚点定位等多种方式
- 丰富的操作类型 - 点击、输入、获取数据、条件判断、循环等 30+ 种操作
- 变量与表达式 - 支持变量存储和
{{变量名}} 模板语法
- 流程调试 - 实时运行日志,快速定位问题
- 本地存储 - 流程数据存储在浏览器本地,隐私安全
- 克隆仓库
git clone https://github.com/N0tsLabs/NutRPA.git
cd NutRPA
- 安装依赖并构建
npm install
npm run build
- 在 Chrome 中加载扩展
- 打开
chrome://extensions/
- 开启「开发者模式」
- 点击「加载已解压的扩展程序」
- 选择项目中的
dist 目录
- 点击扩展图标,打开管理面板
- 创建新流程或选择已有流程
- 点击「在当前页编辑」进入编辑模式
在编辑器中,你可以:
- 添加步骤 - 从左侧工具栏拖拽操作到流程区域
- 选取元素 - 按住 Shift 点击页面元素进行选取
- 配置操作 - 双击步骤卡片打开配置面板
- 运行流程 - 点击运行按钮执行流程
NutRPA 提供强大的元素定位能力:
- CSS 选择器 - 标准 CSS 选择器语法
- XPath - 支持复杂的 XPath 表达式
- 锚点定位 - 通过文本锚点相对定位,适应动态页面
- 元素链 - 可视化编辑 DOM 路径
| 操作 |
说明 |
| 点击 |
单击元素 |
| 双击 |
双击元素 |
| 右键 |
右键点击元素 |
| 悬停 |
鼠标悬停在元素上 |
| 拖拽 |
将元素拖拽到目标位置 |
| 操作 |
说明 |
| 输入文本 |
在输入框中输入内容 |
| 清空输入 |
清空输入框 |
| 按键 |
模拟按下指定按键 |
| 快捷键 |
模拟组合快捷键 |
| 操作 |
说明 |
| 获取文本 |
获取元素的文本内容 |
| 获取属性 |
获取元素的指定属性值 |
| 获取输入值 |
获取输入框的值 |
| 获取 HTML |
获取元素的 HTML 内容 |
| 操作 |
说明 |
| 打开网页 |
打开指定 URL |
| 刷新页面 |
刷新当前页面 |
| 后退/前进 |
浏览器历史导航 |
| 切换标签页 |
切换到指定标签页 |
| 关闭标签页 |
关闭当前标签页 |
| 滚动页面 |
滚动到指定位置 |
| 滚动到元素 |
滚动使元素可见 |
| 操作 |
说明 |
| 等待时间 |
等待指定时间 |
| 等待元素 |
等待元素出现/消失 |
| 条件判断 |
根据条件执行不同分支 |
| 循环 |
重复执行步骤 |
| 设置变量 |
设置变量值 |
| 执行 JS |
执行自定义 JavaScript |
| 结束流程 |
提前结束流程 |
| 操作 |
说明 |
| 读取剪贴板 |
获取剪贴板内容 |
| 写入剪贴板 |
复制内容到剪贴板 |
- 前端框架: Vue 3 + Composition API
- 构建工具: Vite
- 类型系统: TypeScript
- 样式: Tailwind CSS
- 扩展架构: Chrome Extension Manifest V3
src/
├── background/ # Service Worker
│ └── background.ts
├── content/ # 内容脚本
│ ├── content.ts # 入口
│ ├── content.css # 样式
│ ├── Editor.vue # 流程编辑器
│ └── ElementEditor.vue # 元素编辑器
├── dashboard/ # 管理面板
│ ├── App.vue
│ └── main.ts
└── shared/ # 共享模块
├── types.ts # 类型定义
├── selector.ts # 选择器逻辑
└── id.ts # ID 生成
# 开发模式(监听文件变化)
npm run dev
# 生产构建
npm run build
| 功能 |
状态 |
说明 |
| 流程引擎 |
✅ |
完整的流程执行引擎 |
| 可视化编辑器 |
✅ |
拖拽式流程设计 |
| 元素库管理 |
✅ |
元素保存、复用、编辑 |
| 变量系统 |
✅ |
字符串/数字/数组/对象类型 |
| 表达式解析 |
✅ |
{{变量名}} 模板语法 |
| 数据表格 |
✅ |
内置表格管理,支持采集数据 |
| 运行日志 |
✅ |
实时日志、执行耗时统计 |
| 错误处理 |
✅ |
继续/停止/重试策略 |
| 跨页面执行 |
✅ |
页面跳转后继续执行 |
| 备份恢复 |
✅ |
JSON 导入导出 |
| 功能 |
状态 |
说明 |
| CSS 选择器 |
✅ |
标准 CSS 选择器 |
| XPath |
✅ |
复杂 XPath 表达式 |
| 锚点定位 |
✅ |
通过文本锚点相对定位 |
| 元素链编辑 |
✅ |
可视化编辑 DOM 路径 |
| 属性匹配 |
✅ |
等于/包含/开头/结尾/正则 |
| 实时高亮 |
✅ |
编辑时实时预览匹配元素 |
| iframe 支持 |
❌ |
跨 iframe 操作元素 |
| 操作 |
状态 |
说明 |
| 点击 |
✅ |
单击元素 |
| 双击 |
✅ |
双击元素 |
| 右键 |
✅ |
右键点击 |
| 悬停 |
✅ |
鼠标悬停 |
| 拖拽 |
✅ |
拖拽到目标位置 |
| 操作 |
状态 |
说明 |
| 输入文本 |
✅ |
支持追加模式 |
| 清空输入 |
✅ |
清空输入框 |
| 按键 |
✅ |
模拟按键 |
| 快捷键 |
✅ |
Ctrl+Alt+Shift+Meta 组合 |
| 操作 |
状态 |
说明 |
| 获取文本 |
✅ |
获取元素文本 |
| 获取属性 |
✅ |
获取指定属性值 |
| 获取输入值 |
✅ |
获取输入框的值 |
| 获取 HTML |
✅ |
获取元素 HTML |
| 操作 |
状态 |
说明 |
| 打开网页 |
✅ |
支持新标签页 |
| 刷新页面 |
✅ |
刷新当前页面 |
| 后退/前进 |
✅ |
浏览器历史导航 |
| 切换标签页 |
✅ |
切换到指定 Tab |
| 关闭标签页 |
✅ |
关闭当前 Tab |
| 滚动页面 |
✅ |
支持 X/Y 方向 |
| 滚动到元素 |
✅ |
滚动使元素可见 |
| 弹窗处理 |
✅ |
alert/confirm 处理 |
| 操作 |
状态 |
说明 |
| 等待时间 |
✅ |
等待指定秒数 |
| 等待加载 |
✅ |
等待页面加载完成 |
| 等待出现 |
✅ |
等待元素出现 |
| 等待消失 |
✅ |
等待元素消失 |
| 操作 |
状态 |
说明 |
| 条件判断 |
✅ |
表达式/元素存在/变量比较 |
| 循环 |
✅ |
固定次数/条件/遍历数组 |
| 跳出循环 |
✅ |
break |
| 继续循环 |
✅ |
continue |
| 设置变量 |
✅ |
支持数组/对象操作 |
| 结束流程 |
✅ |
提前结束 |
| 操作 |
状态 |
说明 |
| 添加行 |
✅ |
向表格添加数据 |
| 读取单元格 |
✅ |
读取指定单元格 |
| 写入单元格 |
✅ |
写入指定单元格 |
| 读取行 |
✅ |
读取整行数据 |
| 删除行 |
✅ |
删除指定行 |
| 获取行数 |
✅ |
获取表格行数 |
| 操作 |
状态 |
说明 |
| 执行 JS |
✅ |
执行自定义 JavaScript |
| 读剪贴板 |
✅ |
获取剪贴板内容 |
| 写剪贴板 |
✅ |
复制内容到剪贴板 |
| 截图 |
❌ |
截取当前页面/元素 |
| 功能 |
状态 |
说明 |
| 拖拽添加步骤 |
✅ |
从操作栏拖入流程 |
| 拖拽排序 |
✅ |
拖拽调整步骤顺序 |
| 多选操作 |
✅ |
Ctrl/Shift 多选 |
| 复制粘贴 |
✅ |
Ctrl+C/V 复制粘贴步骤 |
| 右键菜单 |
✅ |
步骤右键操作菜单 |
| 步骤禁用 |
✅ |
禁用/启用步骤 |
| 步骤备注 |
✅ |
添加步骤注释 |
| 状态提示 |
✅ |
未配置/运行中/错误高亮 |
| 弹窗拖动 |
✅ |
编辑弹窗可拖动 |
| 撤销/重做 |
❌ |
编辑操作撤销重做 |
| 功能 |
状态 |
说明 |
| 🎬 录制模式 |
❌ |
自动记录用户操作生成流程,极大降低使用门槛 |
| 🌐 iframe 支持 |
❌ |
支持跨 iframe 操作元素 |
| 📸 截图功能 |
❌ |
截取页面/元素截图 |
| 功能 |
状态 |
说明 |
| 单步调试 |
❌ |
断点暂停、逐步执行 |
| 从当前步骤开始 |
❌ |
不用每次从头执行 |
| 撤销/重做 |
❌ |
编辑时的撤销重做 |
| 执行速度控制 |
❌ |
调整执行速度 |
| 功能 |
状态 |
说明 |
| MCP 协议支持 |
❌ |
作为 MCP Server,AI 助手直接调用流程 |
| HTTP API |
❌ |
RESTful API,外部系统调用 |
| WebSocket |
❌ |
实时双向通信,流程状态推送 |
| Webhook |
❌ |
执行完成后回调通知 |
💡 MCP 和 API 功能将通过配套的本地服务实现(基于 Native Messaging),安装扩展后一键启动即可使用。
| 功能 |
状态 |
说明 |
| 流程市场 |
❌ |
用户分享/下载流程(类似油猴脚本市场) |
| 一键安装 |
❌ |
nutrpa://install/xxx 协议安装流程 |
| 云端同步 |
❌ |
跨设备流程同步(可用 GitHub Gist) |
| 流程模板 |
❌ |
预置常用流程模板 |
| 功能 |
状态 |
说明 |
| 手动触发 |
✅ |
点击运行按钮 |
| 快捷键触发 |
❌ |
全局快捷键启动流程 |
| 定时触发 |
❌ |
Cron 表达式定时执行 |
| URL 匹配触发 |
❌ |
打开特定网页自动运行 |
| 功能 |
状态 |
说明 |
| 子流程调用 |
❌ |
流程复用,模块化设计 |
| Try-Catch |
❌ |
异常捕获处理 |
| 多标签页协作 |
❌ |
跨 Tab 执行流程 |
| 流程版本管理 |
❌ |
历史版本回溯 |
| 无头模式 |
❌ |
后台静默执行 |
| 多浏览器支持 |
❌ |
Firefox / Edge 适配 |
| 功能 |
状态 |
说明 |
| 表格数据 |
✅ |
内置表格管理 |
| 导出 CSV |
✅ |
表格导出 CSV |
| 智能表格提取 |
❌ |
自动识别页面表格 |
| 列表数据遍历 |
❌ |
自动遍历列表元素 |
| 数据清洗 |
❌ |
正则表达式处理 |
| 导出 Excel |
❌ |
表格导出 Excel |
| 功能 |
状态 |
说明 |
| AI 辅助编辑 |
❌ |
描述需求,AI 生成流程 |
| 智能元素识别 |
❌ |
AI 识别相似元素 |
| 自然语言指令 |
❌ |
用自然语言控制流程 |
总体完成度: ████████████████░░░░ 80%
核心功能: ████████████████████ 100%
操作类型: ██████████████████░░ 95%
编辑体验: ████████████████░░░░ 85%
调试功能: ████████░░░░░░░░░░░░ 40%
集成能力: ░░░░░░░░░░░░░░░░░░░░ 0%
生态建设: ░░░░░░░░░░░░░░░░░░░░ 0%
欢迎提交 Issue 和 Pull Request!
MIT License
Made with ❤️ by N0tsLabs