通过前台(headed)浏览器自动填写网页表单,分析表单结构后批量点击选项,支持答案核对,个人信息字段留给用户手动输入。
browser-use --headed,不后台填写browser-use doctor 2>&1 | head -20
browser-use close --all 2>&1
确认 browser-use 已安装且无残留 session。
browser-use --headed --session form open <FORM_URL>
--headed 参数(前台模式)form,便于后续操作browser-use --session form state 2>&1
从 state 输出中提取:
| 信息 | 提取方式 |
|---|---|
| ------ | --------- |
| 题目总数 | 搜索 "(单选题)"、"(多选题)"、"(判断题)" 出现次数 |
| 每题类型 | 单选 / 多选 / 判断 |
| 每题选项 | 搜索 A/B/C/D 对应的 index 编号 |
| 个人信息字段 | 搜索 "姓名"、"手机号"、"部门"、"地址"、"柜员号" 等关键词 |
记录一个答题映射表:
Q1 (单选): A=index1, B=index2, C=index3, D=index4
Q2 (单选): A=index5, B=index6, ...
...
根据题目内容自行判断答案。如果题目涉及专业知识不确定,优先搜索确认后再选。
使用捆绑脚本提取答案:
python3 <skill_dir>/scripts/extract_docx_answers.py "<DOCX_PATH>"
将提取出的答案与表单题目逐一对照,建立 题号 → 答案 映射表。
核对步骤:
使用 browser-use --session form click 逐题点击选项。
要点:
browser-use --session form scroll down --amount 滚动&& 串联点击命令,减少调用次数示例命令:
# Q1 单选 A (index=421)
browser-use --session form click 421
# Q6 多选 ABC (index=780,793,806)
browser-use --session form click 780 && sleep 0.15 && browser-use --session form click 793 && sleep 0.15 && browser-use --session form click 806
# Q11 判断 B错 (index=1155)
browser-use --session form click 1155
答案修正(取消已选项): 对于多选题目,如果选错了选项,点击该选项的 index 即可取消:
# Q7 多选取消多选的 C 选项
browser-use --session form click 880
# 截图保存最终结果
browser-use --session form screenshot <workspace>/form_result.png --full 2>&1
# 获取最终 state 核对
browser-use --session form state 2>&1 | grep -E "(单选题|多选题|判断题|提交|完成)"
输出核对汇总表,确认所有题目已正确填写。
在全部选项填写完毕后:
| 平台 | URL 特征 | 表单特点 | 备注 |
|---|---|---|---|
| ------ | --------- | --------- | ------ |
| 金数据 (jsj.top) | jsj.top/f/xxx | index 连续分配,每题选项递增 | 个人信息字段通常在页面底部 |
| 问卷星 (wjx) | wjx.cn / wjx.top | 选项用 radio button,需点击 label | 可能有验证码 |
| 腾讯问卷 | wj.qq.com | 类似金数据结构 | 需注意分页表单 |
| 问题 | 原因 | 解决 |
|---|---|---|
| ------ | ------ | ------ |
| browser-use 权限被拒 | state.json 权限异常 | chmod 644 ~/.browser-use/default.state.json |
| 点击无响应 | 元素未在视口内 | 先 scroll down 将目标元素滚动到可见区域 |
| 页面加载慢 | 表单包含大量元素 | 打开后等 3 秒再操作,每次滚动后等 0.5 秒再获取 state |
| docx 提取失败 | 缺少 python-docx | 使用捆绑的 extract_docx_answers.py(仅用 stdlib) |
| 多选取消不了 | 点击已选项即可取消 | browser-use click 触发的是原生 click 事件,多选 checkbox 支持 toggle |
scripts/extract_docx_answers.py — 从 .docx 参考文件中提取纯文本答案(仅用 stdlib,无需安装依赖)共 1 个版本