OpenClaw浏览器控制:千问3.5-27B自动填写表单与提交

1. 为什么需要浏览器自动化

上周我需要帮家人处理一个政府网站的年度申报,这个流程每年都要重复:登录系统→下载表格→填写十几项个人信息→上传证明文件→等待人工审核。每次操作至少要花半小时,还经常因为填错格式被打回重来。

这种重复性工作正是OpenClaw的用武之地。通过配置web-automation技能,配合千问3.5-27B的多模态理解能力,我成功实现了全自动表单填写与提交。整个过程最让我惊喜的是——当遇到验证码异常时,系统能自动识别并切换到人工干预模式,而不是无脑重试导致账号被锁。

2. 环境准备与技能安装

2.1 基础环境搭建

我的实验环境是一台MacBook Pro(M1芯片,16GB内存),已经通过Homebrew安装了OpenClaw核心组件:

brew install node@22
npm install -g openclaw@latest
openclaw onboard --mode=Advanced

在配置向导中特别需要注意:

  • 模型提供商选择Qwen
  • 默认模型设置为qwen3-27b(对应星图平台的千问3.5-27B镜像)
  • 启用Experimental Features中的浏览器控制选项

2.2 安装web-automation技能

通过ClawHub安装自动化技能包:

clawhub install web-automation form-helper captcha-fallback

这三个技能包构成了完整的自动化链条:

  • web-automation:提供浏览器基础操作能力
  • form-helper:专用表单填写逻辑
  • captcha-fallback:验证码异常处理模块

安装后需要重启网关服务:

openclaw gateway restart

3. 操作流程录制与优化

3.1 初始录制过程

在本地控制台(http://127.0.0.1:18789)的"Automation"标签页,点击"New Recording"启动Chrome浏览器。我以某省政务服务网为例,手动完成了一次完整的申报流程:

  1. 访问https://zwfw.[省份].gov.cn(实际地址已脱敏)
  2. 登录个人账号
  3. 进入"年度申报"栏目
  4. 下载PDF模板文件
  5. 填写个人信息表格
  6. 上传身份证扫描件
  7. 提交并获取申报编号

录制结束后,系统生成了一个flow.json配置文件,包含所有操作步骤的XPath和事件序列。

3.2 关键问题发现

直接回放录制流程时遇到了三个典型问题:

  1. 动态元素定位失效:页面上的"下一步"按钮ID每次刷新都会变化
  2. 验证码随机出现:约30%的概率会触发图形验证
  3. 文件上传兼容性问题:OpenClaw的默认文件选择器与政府网站的上传组件不兼容

3.3 引入千问3.5-27B的智能处理

flow.json中为关键步骤添加ai_enhance标记:

{
  "steps": [
    {
      "action": "click",
      "target": "//button[contains(text(),'下一步')]",
      "ai_enhance": {
        "fallback": "通过按钮文字定位元素",
        "model": "qwen3-27b"
      }
    }
  ]
}

这种配置下,当原始XPath失效时,OpenClaw会:

  1. 截取当前页面截图
  2. 发送给千问3.5-27B进行视觉理解
  3. 根据模型返回的坐标信息重新定位元素

对于验证码问题,配置了分级处理策略:

"captcha_handling": {
  "max_attempts": 2,
  "fallback": "human",
  "notify_channel": "feishu"
}

4. 实际运行效果验证

4.1 正常流程测试

在无验证码出现的理想情况下,完整流程平均耗时2分17秒(人工操作约需25分钟)。关键时间消耗在:

  • 页面加载等待:约45秒
  • 文件上传处理:约32秒
  • 表单字段填写:约60秒(每个字段都有200ms的人工输入模拟延迟)

4.2 异常情况处理

当系统弹出验证码时,OpenClaw的表现令人印象深刻:

  1. 首次尝试自动识别失败(模型返回置信度仅62%)
  2. 自动切换到飞书通知通道,向我发送包含验证码截图的帮助请求
  3. 我在手机上输入验证码后,流程继续执行
  4. 系统自动记录该验证码模式,下次遇到相似图形时优先尝试

4.3 资源消耗观察

通过htop监控发现:

  • 单个Chrome标签页内存占用约480MB
  • 千问3.5-27B的API调用平均响应时间1.2秒
  • 典型表单填写任务消耗约1800 tokens(主要用在页面结构理解)

5. 值得注意的实现细节

5.1 文件上传的变通方案

政府网站的上传组件通常使用老旧的技术方案。最终采用的解决方案是:

  1. 提前将文件放在固定目录(如~/Documents/autoupload
  2. 修改web-automation技能,使用AppleScript模拟键盘输入文件路径:
tell application "System Events"
    keystroke "G" using {command down, shift down}
    delay 0.5
    keystroke "/Users/username/Documents/autoupload/id_card.jpg"
    delay 0.3
    keystroke return
end tell

5.2 敏感信息处理

所有个人数据(身份证号、手机号等)都存储在本地~/.openclaw/secrets目录下,通过环境变量引用:

# 在TOOLS.md中定义变量
export USER_IDCARD=11010119900307233X
export USER_PHONE=13800138000

表单填写时使用变量替换:

{
  "action": "type",
  "target": "idcard_input",
  "value": "${USER_IDCARD}"
}

6. 适用边界与改进方向

经过一周的实际使用,我发现这种自动化方案最适合以下场景:

  • 定期重复的标准化申报流程
  • 需要同时处理多个亲属账号的情况
  • 非工作时间提交申请(系统在凌晨自动执行)

而不适用的情况包括:

  • 首次办理的复杂业务(需要人工确认材料)
  • 需要现场拍照验证的环节
  • 政策变动导致表单结构大改

一个意外的收获是:通过分析千问3.5-27B对页面结构的理解日志,我发现政府网站在无障碍访问方面存在多个WCAG 2.1合规性问题,这些洞察已经反馈给相关单位。


获取更多AI镜像

想探索更多AI镜像和应用场景?访问 CSDN星图镜像广场,提供丰富的预置镜像,覆盖大模型推理、图像生成、视频生成、模型微调等多个领域,支持一键部署。

Logo

欢迎加入DeepSeek 技术社区。在这里,你可以找到志同道合的朋友,共同探索AI技术的奥秘。

更多推荐