browser-automation 实战:让AI自动操作网页,不用一行Selenium
这个技能是干什么的 在SFD实验室,有相当一部分日常工作是和网页打交道的:定期去某些平台抓竞品数据、批量填写表单、截图留存记录、自动登录然后下载报表……这些事情人工做枯燥,但以前要自动化,要么装Selenium、Playwright,要么用Python写一堆Xpath定位代码,维护起来特别痛苦。 自从装了Open…
- 入库时间
- 下载量
- 0
- 人审标记
- 已人工审核
这个技能是干什么的 在SFD实验室,有相当一部分日常工作是和网页打交道的:定期去某些平台抓竞品数据、批量填写表单、截图留存记录、自动登录然后下载报表……这些事情人工做枯燥,但以前要自动化,要么装Selenium、Playwright,要么用Python写一堆Xpath定位代码,维护起来特别痛苦。 自从装了OpenClaw的browser-automation技能,处理这类需求的方式彻底变了。这个技能底层用Playwright实现,但你不需要写任何Playwright代码——用自然语言描述你想做什么,它会转化成浏览器操作。 装好之后怎么用 技能安装后,直接在OpenClaw里用自然语言描述任务就行。比如:去某个产品页把所有产品名称和价格提取出来,存成CSV;或者登录管理后台,截图首页仪表盘;或者打开表格链接,把数据逐行填进去,每行提交一次。背后技能会自动处理:打开浏览器、等待元素、定位、操作、提取、关闭。 我们真实用过的场景 场景1:定期抓竞品定价 我们的SFD Lab网站需要持续关注几个竞品的定价变动。以前是人工去看,现在设了个cron任务,每天早上9点触发,让它去竞品的定价页找到所有套餐名称和价格,整理成JSON,如果价格比上次有变化,发Telegram通知。大概设置了10分钟,现在完全自动运行。关键点:对于有反爬措施的网站可能需要额外配置user-agent,我们遇到过一个平台检测headless,加了真实UA就过了。 场景2:批量填表单 有个合作方要我们提交一批设备注册信息,是个web表单,几十条记录。他们的系统不提供批量导入,只能一条条填。我把数据准备成CSV,然后告诉browser-automation:打开表单页面,读CSV第一行填进去提交,等待成功提示后继续下一行,如果某行失败记录错误继续下一行。跑了大概20分钟,50条全部提交完成。 场景3:截图存档 我们每周要截图记录几个关键页面的状态,存档备用,有时候需要对比"这个改动之前是什么样的"。直接让它批量截图,自动以日期命名存到指定文件夹。 有哪些坑 动态渲染页面要等待 很多现代网站是SPA,页面内容是JavaScript渲染的,直接抓HTML什么都没有。需要明确告诉技能"等待某个元素出现后再操作"。我们在描述任务时会加上类似"等待页面完全加载,确认看到产品列表后再抓取"。 验证码 遇到图形验证码就没办法自动化了。碰到这种情况,我们会在任务描述里注明"如果出现验证码,暂停并通知我",然后人工介入一次。 登录状态保持 有些任务需要先登录,然后操作多个页面。Playwright支持保存browser context,在技能配置里可以开启session持久化,下次用同一个profile就不用重新登录了。 选择器漂移 如果网站改版了,原来的按钮位置变了,自动化脚本就会失败。用自然语言描述的优势是:你说"点击提交按钮",技能会找页面上语义最接近的元素,比写死CSS选择器更有鲁棒性。 跟smart-web-scraper的区别 smart-web-scraper是 读 ,抓取页面数据,适合结构化内容提取,不需要交互;browser-automation是 读+写+交互 ,点击、填表、截图,适合需要操作的场景。如果只是抓数据,smart-web-scraper更快、更轻。如果需要交互(登录、点击、提交),用browser-automation。 适合谁用 经常需要手动操作某些网站的重复性任务的人。想从竞品或公开平台定期收集数据的人。需要批量填写web表单的人。不想学Selenium/Playwright但需要浏览器自动化能力的人。 如果你用OpenClaw做工作流自动化,browser-automation是那块让"AI能真正触达网页"的拼图。装了之后你会发现,很多以前觉得只能人工做的任务,其实可以完全交出去。