关于 Browser Use
Browser Use 是用于逐步控制浏览器和执行自主浏览任务的自动化 skill。它结合 agent-browser 命令行工具进行导航、交互和提取,并提供可规划和执行复杂任务的 Python Agent。
主要功能
- 01通过命令行控制网页
- 02检查交互元素和页面结构
- 03填写表单并操作控件
- 04提取文本、属性和值
- 05保存截图、PDF 和录屏
- 06执行自主浏览任务
适用场景
- 01抓取网页信息
- 02通过浏览器交互填写表单
- 03使用自主任务比较多个网站的信息
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ quentintou/ openclaw-skill-browser-use --skill browser-use安装后在 Claude Code 中输入/browser-use确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
README.mdreferences/browser-workflow.mdscripts/browser-use-agent.shinstall.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
重要规则
- 导航后始终运行
snapshot -i— 每次加载页面时,refs 都会变化 - 对输入框使用
fill,而不是type—fill会先清除已有文本 - 点击会触发导航的元素后要等待 —
wait --load networkidle - 完成后关闭浏览器 —
agent-browser close - Google/Bing 会屏蔽无头浏览器(CAPTCHA)— 改用 DuckDuckGo 或
web_search - 为需要登录的网站保存身份验证状态 —
state save/load - 需要机器可解析的输出时使用
--json - 并行浏览时使用会话 —
--session <name>
故障排除
- 找不到元素:重新运行
snapshot -i获取当前 refs - 页面未加载:导航后添加
wait --load networkidle - 搜索引擎出现 CAPTCHA:改用 DuckDuckGo 或
web_search工具 - 身份验证已过期:重新登录并再次运行
state save - 显示错误:安装脚本会为无头渲染配置 Xvfb
评论
支持 Markdown