mcpField
B
Browser Use

Browser Use

github.com/quentintouAgent 工作流5194 次安装38 周前更新
代码仓库

关于 Browser Use

Browser Use 是用于逐步控制浏览器和执行自主浏览任务的自动化 skill。它结合 agent-browser 命令行工具进行导航、交互和提取,并提供可规划和执行复杂任务的 Python Agent。

主要功能

  1. 01通过命令行控制网页
  2. 02检查交互元素和页面结构
  3. 03填写表单并操作控件
  4. 04提取文本、属性和值
  5. 05保存截图、PDF 和录屏
  6. 06执行自主浏览任务

适用场景

  1. 01抓取网页信息
  2. 02通过浏览器交互填写表单
  3. 03使用自主任务比较多个网站的信息

安装

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

$npx skills add https://github.com/quentintou/openclaw-skill-browser-use --skill browser-use

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

包含的文件

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

README.md
references/
browser-workflow.md
scripts/
browser-use-agent.sh
install.sh

详细介绍

Browser Use — 自主浏览器自动化

用于浏览器自动化的两种互补工具:

工具最适合的场景工作方式
agent-browser逐步控制、抓取内容、填写表单使用 CLI 命令,由你驱动每个操作
browser-use复杂的自主任务自行决定操作的 Python Agent

快速开始

agent-browser(大多数任务的推荐选择)
# Navigate and inspect
agent-browser open "https://example.com"
agent-browser snapshot -i          # Get interactive elements with @refs

# Interact using refs
agent-browser click @e3            # Click element
agent-browser fill @e2 "text"      # Fill input (clears first)
agent-browser press Enter          # Press key

# Extract data
agent-browser get text @e1         # Get element text
agent-browser get attr @e1 href    # Get attribute
agent-browser screenshot /tmp/p.png # Screenshot

# Done
agent-browser close
browser-use(自主 Agent)
# Run a full autonomous browsing task
browser-use-agent "Find the pricing for Notion and compare plans"

Agent 会浏览页面、点击、读取内容,并返回结构化结果。

agent-browser — 完整参考

导航
agent-browser open <url>           # Navigate to URL
agent-browser back                 # Go back
agent-browser forward              # Go forward
agent-browser reload               # Reload page
agent-browser close                # Close browser
快照(页面分析)
agent-browser snapshot             # Full accessibility tree
agent-browser snapshot -i          # Interactive elements only (recommended)
agent-browser snapshot -c          # Compact output
agent-browser snapshot -d 3        # Limit depth to 3
agent-browser snapshot -s "#main"  # Scope to CSS selector
agent-browser snapshot -i --json   # JSON output for parsing
交互(使用快照中的 @refs)
agent-browser click @e1            # Click
agent-browser dblclick @e1         # Double-click
agent-browser fill @e2 "text"      # Clear and type (use this for inputs)
agent-browser type @e2 "text"      # Type without clearing
agent-browser press Enter          # Press key
agent-browser press Control+a      # Key combination
agent-browser hover @e1            # Hover
agent-browser check @e1            # Check checkbox
agent-browser uncheck @e1          # Uncheck checkbox
agent-browser select @e1 "value"   # Select dropdown option
agent-browser scroll down 500      # Scroll page
agent-browser scrollintoview @e1   # Scroll element into view
agent-browser drag @e1 @e2         # Drag and drop
agent-browser upload @e1 file.pdf  # Upload files
提取数据
agent-browser get text @e1         # Get element text
agent-browser get html @e1         # Get innerHTML
agent-browser get value @e1        # Get input value
agent-browser get attr @e1 href    # Get attribute
agent-browser get title            # Page title
agent-browser get url              # Current URL
agent-browser get count ".item"    # Count matching elements
等待
agent-browser wait @e1             # Wait for element
agent-browser wait 2000            # Wait milliseconds
agent-browser wait --text "Done"   # Wait for text to appear
agent-browser wait --url "/dash"   # Wait for URL pattern
agent-browser wait --load networkidle  # Wait for network idle
截图、PDF 和录制
agent-browser screenshot path.png      # Save screenshot
agent-browser screenshot --full        # Full page screenshot
agent-browser pdf output.pdf           # Save as PDF
agent-browser record start ./demo.webm # Start recording
agent-browser record stop              # Stop and save
会话(并行浏览器)
agent-browser --session s1 open "https://site1.com"
agent-browser --session s2 open "https://site2.com"
agent-browser session list
状态(持久保存身份验证信息和 Cookie)
agent-browser state save auth.json     # Save session (cookies, storage)
agent-browser state load auth.json     # Restore session
Cookie 和存储
agent-browser cookies                  # Get all cookies
agent-browser cookies set name value   # Set cookie
agent-browser cookies clear            # Clear cookies
agent-browser storage local            # Get all localStorage
agent-browser storage local set k v    # Set value
标签页和框架
agent-browser tab                      # List tabs
agent-browser tab new [url]            # New tab
agent-browser tab 2                    # Switch to tab
agent-browser frame "#iframe"          # Switch to iframe
agent-browser frame main               # Back to main frame
浏览器设置
agent-browser set viewport 1920 1080
agent-browser set device "iPhone 14"
agent-browser set geo 37.7749 -122.4194
agent-browser set offline on
agent-browser set media dark
JavaScript
agent-browser eval "document.title"    # Run JS in page context

browser-use — 自主 Agent

对于希望 Agent 自行确定浏览步骤的复杂任务:

browser-use-agent "Your task description here"
自定义脚本(高级)
# Run via: /opt/browser-use/bin/python3 script.py
import asyncio, os
from browser_use import Agent, Browser
from langchain_anthropic import ChatAnthropic

async def run():
    browser = Browser()
    llm = ChatAnthropic(
        model='claude-sonnet-4-20250514',
        api_key=os.environ['ANTHROPIC_API_KEY']
    )
    agent = Agent(
        task="Compare pricing on 3 competitor sites",
        llm=llm,
        browser=browser,
    )
    result = await agent.run(max_steps=15)
    await browser.close()
    return result

asyncio.run(run())

你可以将大模型替换为任何兼容 langchain 的模型(OpenAI、Anthropic 等)。

标准工作流

# 1. Open page
agent-browser open "https://example.com"

# 2. Snapshot to see what's on the page
agent-browser snapshot -i

# 3. Interact with elements using @refs from snapshot
agent-browser fill @e1 "search query"
agent-browser click @e2

# 4. Wait for new page to load
agent-browser wait --load networkidle

# 5. Re-snapshot (refs change after navigation!)
agent-browser snapshot -i

# 6. Extract what you need
agent-browser get text @e5

# 7. Close when done
agent-browser close

重要规则

  1. 导航后始终运行 snapshot -i — 每次加载页面时,refs 都会变化
  2. 对输入框使用 fill,而不是 type — fill 会先清除已有文本
  3. 点击会触发导航的元素后要等待 — wait --load networkidle
  4. 完成后关闭浏览器 — agent-browser close
  5. Google/Bing 会屏蔽无头浏览器(CAPTCHA)— 改用 DuckDuckGo 或 web_search
  6. 为需要登录的网站保存身份验证状态 — state save/load
  7. 需要机器可解析的输出时使用 --json
  8. 并行浏览时使用会话 — --session <name>

故障排除

  • 找不到元素:重新运行 snapshot -i 获取当前 refs
  • 页面未加载:导航后添加 wait --load networkidle
  • 搜索引擎出现 CAPTCHA:改用 DuckDuckGo 或 web_search 工具
  • 身份验证已过期:重新登录并再次运行 state save
  • 显示错误:安装脚本会为无头渲染配置 Xvfb

评论

支持 Markdown