PluginBench
Skill
Fail
Audit score 45

browser-automation

sophieguanongit/openclaw-browser-automation

Browser automation with Playwright—navigate, click, fill forms, and screenshot web pages.

What is browser-automation?

This skill enables automated browser control using Playwright, supporting both connecting to existing Chrome instances (CDP mode) and launching new Chromium browsers. Use it when users ask to open websites, click elements, fill forms, take screenshots, or perform other web automation tasks.

  • Navigate to URLs and reuse existing pages without opening new windows each time
  • Persist login state and cookies using independent user data directories
  • Click elements, fill forms, type text, and select dropdown options
  • Take screenshots and extract page content or element text
  • Execute JavaScript, upload files, scroll, and hover over elements
  • Wait for elements or page navigation with configurable timeouts

How to install browser-automation

npx skills add https://github.com/sophieguanongit/openclaw-browser-automation --skill browser-automation
Claude Code
Cursor
Windsurf
Cline

How to use browser-automation

  1. 1.Call handleNavigate({url}) to open a website or reuse the current page
  2. 2.Use handleClick({selector}) to click buttons or links using CSS or text selectors
  3. 3.Call handleFill({selector, value}) to fill form fields
  4. 4.Use handleScreenshot() to capture the current page or a specific element
  5. 5.Call handleGetContent({selector}) to extract text or page content
  6. 6.Use handleWait({selector}) to wait for elements before interacting with them
  7. 7.Call handleEvaluate({script}) to run custom JavaScript if needed

Use cases

Good for
  • Automating form filling and submission on web applications
  • Taking screenshots of web pages for documentation or verification
  • Logging into websites and maintaining persistent sessions across operations
  • Extracting text and content from web pages for data collection
  • Clicking buttons and navigating through multi-step web workflows
Who it's for
  • Developers automating web testing and data collection
  • Users needing to automate repetitive browser tasks
  • Teams managing web scraping or form automation workflows

browser-automation FAQ

What selector syntax does this skill support?

CSS selectors (#id, .class, input[name="field"]), text selectors (text=Login), and combined selectors (button:has-text("Submit")).

Does it reuse browser pages or open new ones each time?

By default, handleNavigate() reuses existing pages. Use handleNewPage({url}) to explicitly open a new page.

Will login sessions persist between operations?

Yes, the skill uses independent user data directories to persist cookies and login state across sessions.

Can I execute custom JavaScript on the page?

Yes, use handleEvaluate({script}) to run any JavaScript code in the page context.

What should I do if an element isn't found?

Use handleWait({selector, timeout}) to wait for the element to appear before interacting with it.

Full instructions (SKILL.md)

Source of truth, from sophieguanongit/openclaw-browser-automation.


name: browser-automation description: 浏览器自动化控制。【优先使用此 skill,不要用内置 browser 工具】当用户说"打开网页"、"点击"、"填写表单"、"截图"、"网页操作"、"自动填表"、"浏览器"时使用。基于 Playwright,支持连接已有 Chrome(CDP 模式)或启动新 Chromium。

浏览器自动化 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()] [返回截图]

Related skills

More from sophieguanongit/openclaw-browser-automation and the wider catalog.