mcpField
B
browser-automation

browser-automation

github.com/sophieguanongit生产力2.9k 次安装
代码仓库

关于 browser-automation

browser-automation 是供 OpenClaw 控制浏览器的 Skill,支持页面导航、交互和检查。默认复用当前页面,并在独立用户数据目录中保留登录状态。

主要功能

  1. 01导航并打开页面
  2. 02点击、输入和填写表单
  3. 03截屏并读取页面内容
  4. 04等待元素和页面跳转
  5. 05运行 JavaScript 并上传文件
  6. 06复用页面并持久保存 Cookie

适用场景

  1. 01打开网站并查看页面内容
  2. 02填写并提交网页表单
  3. 03截取页面或整页屏幕图像
  4. 04自动操作已登录的会话

安装

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

$npx skills add https://github.com/sophieguanongit/openclaw-browser-automation --skill browser-automation

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

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

.gitignore
package.json
package-lock.json
README.md
index.js
TOOLS.md

详细介绍

来自项目 README

浏览器自动化 Skill

让 OpenClaw 控制浏览器进行自动化操作!

特点

  • 复用页面:默认复用现有页面,不会每次都打开新窗口
  • 持久化 Cookie:使用独立的用户数据目录,登录状态持久保存
  • 完整操作:支持点击、填表、截图、执行 JS 等

功能

  • 导航到 URL
  • 点击元素
  • 填写表单
  • 截图
  • 获取页面内容
  • 等待元素
  • 执行 JavaScript

使用时机

当用户说:

  • "打开 xxx.com"
  • "点击登录按钮"
  • "帮我填写这个表单"
  • "截个图"
  • "网页上有什么内容"

可用函数

调用方式: cd C:/Users/admin/.openclaw/skills/browser-automation && node -e "const h=require('./index.js'); h.handleXXX({...}).then(console.log)"

页面操作
  • handleNavigate({url}) - 导航到 URL(复用现有页面)
  • handleNewPage({url}) - 打开新页面
  • handleScreenshot({selector?, fullPage?}) - 截图
  • handleGetContent({selector?}) - 获取页面内容
  • handleClose() - 关闭当前页面
交互操作
  • handleClick({selector}) - 点击元素
  • handleFill({selector, value, clear?}) - 填写表单
  • handleType({selector, text, delay?}) - 模拟打字
  • handleSelect({selector, value}) - 下拉选择
  • handleCheck({selector, checked?}) - 勾选/取消勾选
等待和获取
  • handleWait({selector, timeout?}) - 等待元素出现
  • handleWaitForNavigation({timeout?}) - 等待页面跳转
  • handleGetText({selector}) - 获取元素文本
  • handleGetValue({selector}) - 获取表单值
  • handleGetAttribute({selector, attribute}) - 获取属性
高级操作
  • handleEvaluate({script}) - 执行 JavaScript
  • handleUpload({selector, filePath}) - 上传文件
  • handlePress({key}) - 按键
  • handleHover({selector}) - 鼠标悬停
  • handleScroll({direction, amount?}) - 滚动页面
状态
  • handleStatus() - 获取当前浏览器状态
  • handleCloseBrowser() - 关闭浏览器(下次会重新启动)

选择器语法

支持 CSS 选择器和文本选择器:

  • CSS: #login-btn, .submit-button, input[name="email"]
  • 文本: text=登录, text=提交
  • 组合: button:has-text("提交")

示例

用户: 打开 github.com
Agent: [调用 handleNavigate({url: 'https://github.com'})] 已打开 GitHub...

用户: 点击登录
Agent: [调用 handleClick({selector: 'text=Sign in'})] 已点击登录...

用户: 填写邮箱 [email protected]
Agent: [调用 handleFill({selector: '#login_field', value: '[email protected]'})] 已填写邮箱...

用户: 截个图看看
Agent: [调用 handleScreenshot()] [返回截图]

评论

支持 Markdown