browser-automation

Browser automation with page reuse, persistent cookies, and comprehensive interaction commands. Supports navigation, clicking, form filling, screenshots, content extraction, element waiting, and JavaScript execution Reuses existing pages by default and maintains login state through persistent user data directories Includes 20+ functions covering page operations, interactions, waiting, data retrieval, and advanced actions like file uploads and keyboard input Accepts CSS selectors and text-based selectors for flexible element targeting

INSTALLATION
npx skills add https://github.com/sophieguanongit/openclaw-browser-automation --skill browser-automation
Run in your project or agent environment. Adjust flags if your CLI version differs.

SKILL.md

浏览器自动化 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'})] 已点击登录...

用户: 填写邮箱 test@example.com

Agent: [调用 handleFill({selector: '#login_field', value: 'test@example.com'})] 已填写邮箱...

用户: 截个图看看

Agent: [调用 handleScreenshot()] [返回截图]
BrowserAct

Let your agent run on any real-world website

Bypass CAPTCHA & anti-bot for free. Start local, scale to cloud.

Explore BrowserAct Skills →

Stop writing automation&scrapers

Install the CLI. Run your first Skill in 30 seconds. Scale when you're ready.

Start free
free · no credit card