从手工复制到自动抓取:Automa 浏览器自动化的 3 个实战场景
【免费下载链接】automaA browser extension for automating your browser by connecting blocks项目地址: https://gitcode.com/gh_mirrors/au/automa
每天从网页里复制几十条数据、填十几张表单,最耗时间的不是"会不会",而是"重复"。Automa 就是一个浏览器扩展,把"打开页面、点按钮、抓文本、存表格"这些动作拆成一个个模块(block),你在画布上拖块、连线就能拼出一条自动化流程,网页数据抓取这类活儿全程不用写代码。
先算笔账:它比手写爬虫省在哪
如果你的第一反应是"我自己写个爬虫不就行了",先对比一下再决定:
| 对比维度 | 手写爬虫脚本 | Automa 块式流程 |
|---|---|---|
| 上手门槛 | 要会一门语言,还得会解析 HTML 结构 | 打开画布拖块连线,元素靠点选 |
| 跑通第一条数据 | 装环境、写请求、写解析,大半天起步 | 几个块连起来,十分钟跑通 |
| 网站改版之后 | 改代码、重新调试 | 重新点选一次选择器 |
| 定时自动跑 | 自己接 cron、处理无头浏览器 | trigger 块直接选 interval / cron |
它不是要取代爬虫,而是把"低频、页面级"的活儿从代码里挪出来。
十分钟装进 Chrome
装源码版比装商店版多一步,但流程很短,照着做就行:
- 克隆仓库:
git clone https://gitcode.com/gh_mirrors/au/automa。预期结果:本地多出一个automa目录。 - 先补一个构建前提文件:在
src/utils/下新建getPassKey.js,内容是一个返回任意字符串的函数。没有它pnpm build会直接失败,细节见下面排障一节。 - 依次执行
pnpm install和pnpm build(需要 Node 环境,>=14.18.1)。预期结果:仓库根目录生成build文件夹,里面就是扩展的运行文件。 - Chrome 打开
chrome://extensions,打开"Developer mode",点"Load unpacked extension",选中automa/build目录。扩展列表里出现 Automa 图标即安装成功。 - Firefox 走另一条路:打开
about:debugging#/runtime/this-firefox,点"Load Temporary Add-on",选build里的manifest.json(有坑,见排障)。
装完打开扩展的工作流页面,会看到工作流列表;首次使用会带一个示例工作流,点进去就能直观看到块是怎么连的。
实战一:列表页的数据一次抓全
最常见的需求:一个商品或资讯列表页,一行一条,要把每行的标题和时间全部拿走。
- 新建工作流,加 trigger 块并选手动(manual),随时能手动跑。
- 加 loop-elements(循环元素)块,用设置里的选择器工具直接点页面上的列表容器——也就是装所有条目那个 ul。它是决定循环范围的父元素。
- 循环体内加 get-text 指向标题、时间,再加 insert-data 把值写进对应表格列。
- 循环后接 export-data,跑完把整张表导出成文件,丢进 Excel 核对。
💡 列表容器优先选 class 稳定的元素而不是最外层 body;页面靠滚动加载的话,trigger 后垫一个 delay 块等内容落完再开抓。
实战二:自动翻页,把多页一起收进来
列表超过一页时,把翻页也做成块就行。
- trigger 后加 loop-data,把页数设成 10;或者用 while-loop,让流程一直跑到"下一页"按钮消失为止。
- 循环里先执行实战一的"get-text + insert-data"组合,收完当前页。
- 接着点"下一页"按钮,再垫 1~2 秒的 delay 等页面渲染,然后进入下一轮。
- element-exists 块可以当条件用:找不到"下一页"就停,避免最后一页死循环。
⚠️ 翻页之间的 delay 不是可有可无的——少了它,下一轮经常抓到的是旧页面,表里全是重复行。
实战三:定时巡检,结果直接写进在线表格
抓一次是工具,定时抓才是自动化。
- 把 trigger 换成 interval(每 N 分钟)或定时触发,Automa 到点自己跑,不用你点。
- 流程体:new-tab 打开目标页 → get-text 抓要盯的数字 → insert-data 写入表格。
- 最后接 google-sheets 块,每次执行往固定 sheet 追加一行,省掉下载文件再导入的动作。
💡 首次打开带的示例工作流正是"抓数据→写 Google Sheets"这条线,卡住时拿它当模板对照。
排障速查:三个最常卡住的点
pnpm build报错,扩展装不上
- 现象:build 命令报缺文件的错,
build目录根本没生成。 - 原因:
src/utils/getPassKey.js没建,构建脚本依赖它存在。 - 解决:按 README 的说法新建该文件,让函数返回任意字符串,再重新 build。
选择器昨天还好好的,今天抓不到了
- 现象:之前能命中元素的块,现在报找不到元素。
- 原因:页面结构变了,或者元素是 JS 渲染后才出现的。
- 解决:用块设置里的"验证选择器"功能复查,换更稳定的属性重选;动态渲染的元素,在循环前加 delay 或使用 wait selector 选项等它出现。
Firefox 重启浏览器后扩展没了
- 现象:昨天还能用的 Automa,重启后图标消失。
- 原因:Firefox 的"Load Temporary Add-on"本来就是临时加载,不做持久化。
- 解决:重新选
build目录里的manifest.json加载;想一劳永逸就用 Chrome 的开发者模式方式。
延伸玩法
- 用 HTTP request(webhook)块把抓到的数据推到自建 API,落库、对接其他系统都靠它。
- execute-workflow 块让一个工作流调用另一个,把单点任务串成流水线。
- trigger 还支持右键菜单、键盘快捷键、访问指定页面,可以把自动化挂在你日常会做的操作上。
Automa 的价值就一句话:把"打开页面、点几下、记几个数"变成一条看得见、能复用的流程。建好的流程挂着定时触发就能自己跑,巡检、比价、盯公告都够用。现在就去装一个,照着实战一搭条"列表抓取"流程——跑通一次,你就知道这些块该怎么连了。
【免费下载链接】automaA browser extension for automating your browser by connecting blocks项目地址: https://gitcode.com/gh_mirrors/au/automa
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考