Token导航 LogoToken导航TokenDH.com
研究检索敏感数据github未标认证来源可访问许可证需确认审计提醒

browser-automation浏览器自动化

Agent Skill

browser-automation 用于处理浏览器自动化、网页检查和页面信息提取,适合在 Codex、Claude、Cursor、Gemini CLI 中需要让 Agent 打开页面、读取网页或验证前端流程时使用。可结合来源仓库、安装命令和原始 README 继续核验具体用法。安装前建议确认权限范围、维护状态,以及是否会触发联网、命令执行或文件读写。

总安装

192

周安装

8

GitHub Stars

3

下载量

64
CodexClaudeCursorGemini CLI

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

GitHub

来源数

2

许可证

unknown

最后核验

2026-05-01

来源状态

来源可访问

安装方式

通过对话安装

复制提示词发给支持本地命令或 Skills 的 AI 助手,先确认命令和权限,再让它执行。

请帮我安装这个 Agent Skill:browser-automation(浏览器自动化)
来源仓库:https://github.com/browserbase/browse-plugin
仓库路径:skills/browser-automation
安装命令:
npx skills add https://github.com/browserbase/browse-plugin --skill browser-automation
安装前请先检查当前环境是否支持对应 CLI,并向我确认将要执行的命令、安装目录、联网范围和文件读写权限;确认后再执行。

命令行安装

复制命令到本机终端执行。该命令会通过 npx skills 从第三方来源获取 Skill;本站只展示命令,不托管安装包,也不自动执行。

skills.shnpx skills
npx skills add https://github.com/browserbase/browse-plugin --skill browser-automation

简介

browser-automation 通过 MCP 工具控制真实 Chrome 浏览器,支持多种交互操作。

  • 适合在 Codex、Claude、Cursor、Gemini CLI 中进行页面导航、元素点击和文本输入。
  • 提供快照、截图、键盘操作等功能,无需 API 密钥即可在本地模式运行。
  • 使用前需确认浏览器是否已安装并可访问,注意可能触发网络请求和文件操作。
  • 建议结合原始 README 和仓库文档进一步核验具体使用方法和限制条件。

SKILL.md

Browser Automation

Control a real Chrome browser through MCP tools. The browser launches automatically on first use via a background daemon -- no API keys required for local mode.

Available Tools

ToolPurpose
browser_navigateGo to a URL (auto-starts browser daemon)
browser_snapshotGet accessibility tree with element refs
browser_clickClick an element by ref (e.g., @0-5)
browser_typeType text (goes to focused element)
browser_fillFill an input field by ref
browser_pressPress a key (Enter, Tab, Escape, Cmd+A, etc.)
browser_selectPick a dropdown option by ref
browser_screenshotCapture the current page
browser_scrollScroll at coordinates
browser_hoverHover at coordinates
browser_dragDrag from one point to another
browser_click_xyClick at exact coordinates
browser_evaluateRun JavaScript in the page
browser_getGet page info (url, title, text, html, value, box)
browser_waitWait for load state, selector, or timeout
browser_backGo back in history
browser_forwardGo forward in history
browser_reloadReload current page
browser_pagesList all open tabs
browser_new_tabOpen a new tab
browser_switch_tabSwitch to a tab by index
browser_close_tabClose a tab by index
browser_networkCapture/inspect HTTP requests
browser_closeStop the browser daemon

Core Workflow

Every browser task follows this loop:

  1. Navigate to the target URL with browser_navigate
  2. Snapshot the page with browser_snapshot to get the accessibility tree with element refs
  3. Act using browser_click, browser_fill, browser_press, browser_select with the refs from the snapshot
  4. Verify with browser_screenshot to confirm the action worked
  5. Repeat steps 2-4 until the task is complete
  6. Close the browser with browser_close when done

How Element Refs Work

Call browser_snapshot -- it returns an accessibility tree where every interactive element has a ref like [0-5]. Use that ref to target the element.

RootWebArea "Example" url="https://example.com"
  [0-0] link "Home"
  [0-1] link "About"
  [0-2] button "Sign In"
  [0-5] textbox "Search"

Then act on elements using their ref:

browser_click({ ref: "@0-2" })        → clicks "Sign In"
browser_fill({ ref: "@0-5", value: "my query" })  → fills the search box

Refs are more reliable than CSS selectors because they're tied to the accessibility tree and work across iframes.

Ref formats (all equivalent)

  • @0-5 -- @ prefix
  • 0-5 -- plain ref
  • ref=0-5 -- explicit prefix

Snapshot also provides maps

The full snapshot output includes:

  • xpathMap: Cross-frame XPath selectors
  • cssMap: CSS selectors when available
  • urlMap: URLs extracted from links

Use the compact flag (-c) for a concise tree without the maps.

Common Patterns

Fill out a form

1. browser_navigate({ url: "https://example.com/signup" })
2. browser_snapshot()
   → Find refs: [0-3] textbox "Email", [0-4] textbox "Password", [0-7] button "Submit"
3. browser_fill({ ref: "@0-3", value: "user@example.com" })
4. browser_fill({ ref: "@0-4", value: "securepassword" })
5. browser_click({ ref: "@0-7" })
6. browser_screenshot()  → Verify success

Extract data from a page

1. browser_navigate({ url: "https://example.com/products" })
2. browser_evaluate({ script: "JSON.stringify(Array.from(document.querySelectorAll('.product')).map(el => ({ name: el.querySelector('h2')?.textContent, price: el.querySelector('.price')?.textContent })))" })

Handle pagination

1. browser_navigate({ url: "https://example.com/results" })
2. browser_evaluate({ script: "..." })  → Extract data from page 1
3. browser_snapshot()  → Find the "Next" button ref
4. browser_click({ ref: "@0-12" })
5. browser_wait({ type: "load" })
6. browser_evaluate({ script: "..." })  → Extract data from page 2

Deal with elements not in view

1. browser_snapshot()  → Target element not found
2. browser_scroll({ x: 0, y: 0, deltaX: 0, deltaY: 500 })
3. browser_snapshot()  → Now the element appears
4. browser_click({ ref: "@0-8" })

Wait for dynamic content

1. browser_click({ ref: "@0-3" })
2. browser_wait({ type: "selector", value: ".new-content", timeout: 10000 })
3. browser_snapshot()  → New elements available

Multi-tab workflow

1. browser_navigate({ url: "https://example.com" })
2. browser_new_tab({ url: "https://other.com" })
3. browser_pages()  → See tab indices
4. browser_switch_tab({ index: 0 })  → Back to first tab
5. browser_close_tab({ index: 1 })  → Close second tab

Keyboard shortcuts

1. browser_press({ key: "Cmd+A" })     → Select all
2. browser_press({ key: "Cmd+C" })     → Copy
3. browser_press({ key: "Tab" })       → Move to next field
4. browser_press({ key: "Enter" })     → Submit
5. browser_press({ key: "Escape" })    → Close modal

Network inspection

1. browser_network({ action: "on" })     → Start capturing
2. browser_navigate({ url: "https://api.example.com" })
3. browser_network({ action: "path" })   → Get capture directory
4. browser_network({ action: "off" })    → Stop capturing

Error Recovery

  • Element not found: Call browser_snapshot again -- the page may have changed. Refs update on each snapshot.
  • Page not loaded: Use browser_wait({type: "load"}) before interacting.
  • Click intercepted: Another element is covering the target. Scroll or close modals first.
  • Timeout: Increase the timeout parameter or check if the page requires interaction first.
  • Stale page: After navigation or form submission, always snapshot again before acting.
  • Daemon crashed: Commands self-heal -- the daemon auto-restarts on the next command.

Tips

  • Always navigate first before any other interaction.
  • Always snapshot before acting to get current refs -- refs change when the page changes.
  • Take screenshots after key actions to verify state.
  • Use refs, not CSS selectors -- they are more reliable across iframes and dynamic pages.
  • Use browser_fill for form inputs -- it's designed for input fields and presses Enter by default.
  • Use browser_type for raw text -- goes to the currently focused element.
  • Use browser_press for keyboard shortcuts -- Enter, Tab, Escape, Cmd+A, etc.
  • Close the browser when done to free system resources.
  • Use browser_evaluate for bulk extraction -- it's faster than scraping element by element.
  • Use browser_get for quick info -- url, title, text, html, value, box without a full snapshot.

Environment Modes

The browser tools automatically detect which mode to use. No code changes or extra configuration from the model is needed -- just call the tools normally. The same tools work identically in both modes.

  • Local (default): Uses the user's installed Chrome. No API keys needed. A background daemon manages the browser lifecycle.
  • Browserbase cloud: Activates automatically when a .env file in the plugin root contains BROWSERBASE_API_KEY and BROWSERBASE_PROJECT_ID. Provides stealth browsing, proxy support, and CAPTCHA solving. The CLI wrapper creates a cloud session and connects the daemon via WebSocket.

The model should NEVER try to configure credentials or environment variables. If the user wants to switch modes, they edit the .env file themselves.

适合场景

01

用户想查找某类 Agent Skill 时

02

需要根据任务场景推荐可安装能力包时

03

需要对比不同来源的安装命令和来源信息时

能力概览

能力 1

按任务关键词查找相关 Skills

能力 2

展示可复制的安装命令

能力 3

保留来源站点、仓库和原始说明,方便继续核验

能力 4

展示第三方安全扫描或审计结果

安装后应在对应宿主中按原始 README 的触发条件使用;具体调用方式请以来源页面和 README 为准。

平台分布

Codex

36.61%
按下载量换算23

Claude

28.67%
按下载量换算18

Cursor

18.07%
按下载量换算12

Gemini CLI

10.71%
按下载量换算7

安全审计

Gen Agent Trust Hub

通过

Socket

通过

Snyk

可疑

权限和风险

敏感数据

该 Skill 可能接触密钥、Token、环境变量或敏感配置,应进入高风险复核队列,默认不自动发布。

安装前确认

本站仅展示第三方公开信息,不托管安装包,不提供自动安装或运行环境。安装前应自行审查源码、依赖和命令行为。来源安全扫描存在 warning/failed 结果,不能写成本站确认安全。当前只有一个来源,正式发布前建议补源仓库或其他目录站核验。

来源信息

继续浏览同类 Skills