mcpField
B
browser-form-fill

browser-form-fill

github.com/ruvnet生产力80.0k717 次安装今天更新
代码仓库

关于 browser-form-fill

browser-form-fill 是用于填写网页表单的技能,可按字段映射匹配模板或页面辅助功能信息。它通过 PII 检查并在轨迹中遮蔽填写值,适合重复提交和记录新模板。

主要功能

  1. 01按字段映射解析表单
  2. 02复用或记录站点模板
  3. 03填写并提交表单
  4. 04PII 检查与轨迹脱敏
  5. 05提交后状态验证

适用场景

  1. 01重复提交注册或联系表单
  2. 02为新网站记录字段选择器
  3. 03处理需要键入模拟的输入
  4. 04验证表单提交后的状态

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/ruvnet/ruflo --skill browser-form-fill

安装后在 Claude Code 中输入/browser-form-fill确认已加载。

详细介绍

浏览器表单填写

使用结构化字段映射({"first_name": "Ada", "company": "..."})填写表单。如果主机存在 browser-templates 条目,则使用它自动将字段名称映射为 CSS 选择器;否则,通过页面无障碍快照解析。

适用场景

  • 提交已知表单(注册、联系、结账),且字段名称稳定。
  • 重复提交时复用已存储的模板。
  • 通过记录解析出的选择器,为网站编写新模板。

步骤

  1. 通过 browser-record 打开已记录的会话。
  2. 解析选择器:
    • 模板路径(--template <name>):从 browser-templates 获取 {field_name → selector}。
    • 快照路径:调用 browser_snapshot,遍历无障碍树,将每个输入项的无障碍名称/标签与字段映射键匹配。
  3. AIDefence PII 检查:字段映射中的每个值在输入任何字符前都必须通过 aidefence_has_pii 检查;在会话清单中记录 pii_in_form: true。不要在轨迹中记录值本身;仅记录字段名称和已脱敏的占位符。
  4. 根据输入类型,使用 browser_fill/browser_type/browser_select/browser_check 填写表单。
  5. 如果指定了 --submit,则提交表单:通过快照定位提交按钮,调用 browser_click,然后调用 browser_wait 等待页面跳转。
  6. 如果发现了新的映射,则持久化模板:
    npx -y @claude-flow/cli@latest memory store --namespace browser-templates \
      --key "<host>:<form-name>" \
      --value "{field_map:{...}, submit_selector:..., post_submit_url_pattern:...}"
    
  7. 如果字段映射的 _assert 键中提供了验证片段,则验证提交后的状态。

注意事项

  • 填写操作的轨迹步骤必须对值进行脱敏。PII 检查是必须遵守的约定。
  • 对于需要模拟输入的字段(例如需要触发自动补全反应的字段),请使用 browser_type(模拟按键),而不是 browser_fill(以编程方式设置值)。在轨迹步骤中记录使用了哪种方式。
  • 多步表单需要依次调用 browser-form-fill;使用同一个会话 ID 将这些调用串联起来。
  • 如果表单包含 CAPTCHA,请将此请求告知用户,不要尝试绕过。

评论

支持 Markdown