browser-agent
Browser Agent
AI Agent 浏览器自动化工具集,提供三种互补的工具用于网页数据获取和自动化操作。
工具选择指南
用户请求
│
├── 简单抓取静态内容?
│ └── 用 curl / WebFetch(更快)
│
├── 需要 JS 渲染 / 绕过反爬?
│ ├── agent-browser ── 提取无障碍树
│ │
│ ├── 截图? ── agent-browser -s
│ │
│ └── 目标网站在 actionbook 列表?
│ └── actionbook get <site> ── 获取专用食谱
│
└── 复杂多步骤自动化?
└── browser-use (Python) ── AI 驱动自主操作
agent-browser
CLI 工具,使用 Playwright 启动无头浏览器并提取页面的无障碍树(Accessibility Tree)。
核心优势:
- 无需登录即可访问大部分内容
- 获取结构化的可读文本
- 支持截图
- 自动处理 JS 渲染
基本用法
# 提取网页内容(无障碍树)
agent-browser <URL>
# 截图
agent-browser -s <URL>
# 指定输出格式
agent-browser -f markdown <URL>
agent-browser -f html <URL>
agent-browser -f text <URL>
# 交互模式(可点击、滚动)
agent-browser -i <URL>
# 指定浏览器
agent-browser --browser chromium <URL>
agent-browser --browser firefox <URL>
常见场景
# 获取 X/Twitter 帖子内容
agent-browser "https://x.com/username/status/123456"
# 获取 GitHub 仓库信息
agent-browser "https://github.com/owner/repo"
# 获取 Reddit 帖子
agent-browser "https://reddit.com/r/subreddit/comments/abc123"
# 获取新闻文章(JS 渲染)
agent-browser "https://example.com/article"
详细命令参考: references/agent-browser-reference.md
actionbook
50+ 网站的预计算自动化"食谱",提供经过验证的自动化模板。
基本用法
# 列出所有支持的网站
actionbook list
# 获取特定网站的食谱
actionbook get <site>
# 示例
actionbook get github
actionbook get reddit
actionbook get amazon
工作流程
- 运行
actionbook list查看支持的网站 - 运行
actionbook get <site>获取该网站的自动化模板 - 根据模板编写自动化脚本(使用 browser-use 或直接使用 agent-browser)
详细命令参考: references/actionbook-reference.md
browser-use
Python 库,使用 AI 自主控制浏览器完成复杂任务。
安装
pip install browser-use
playwright install chromium
基本用法
from browser_use import Agent
from langchain_openai import ChatOpenAI
async def main():
agent = Agent(
task="Go to GitHub and find the trending Python repositories",
llm=ChatOpenAI(model="gpt-4"),
)
result = await agent.run()
print(result)
常见场景
# 表单填写
agent = Agent(
task="Go to example.com and fill out the contact form with test data",
llm=llm,
)
# 数据抓取
agent = Agent(
task="Go to Amazon, search for 'wireless headphones', and extract the top 5 products with prices",
llm=llm,
)
# 多步骤操作
agent = Agent(
task="Log into Twitter, navigate to settings, and enable two-factor authentication",
llm=llm,
)
详细 API 参考: references/browser-use-reference.md
决策流程
任务类型 → 工具选择
| 任务类型 | 推荐工具 | 原因 |
|---|---|---|
| 快速抓取单个页面 | agent-browser | 简单直接,无障碍树输出 |
| 需要页面截图 | agent-browser -s | 内置截图功能 |
| 目标网站在 actionbook 中 | actionbook + browser-use | 有现成的最佳实践 |
| 复杂多步骤操作 | browser-use | AI 自主决策和执行 |
| 需要登录的网站 | browser-use | 可以处理登录流程 |
| 批量数据采集 | browser-use | 支持循环和条件判断 |
示例工作流
场景:获取 X/Twitter 帖子内容
# 方法 1:直接使用 agent-browser(推荐)
agent-browser "https://x.com/username/status/123456"
# 方法 2:使用 browser-use 进行更复杂操作
# 编写 Python 脚本
场景:GitHub Trending 分析
# 方法 1:agent-browser
agent-browser "https://github.com/trending"
# 方法 2:使用 actionbook 获取 GitHub 食谱
actionbook get github
# 然后根据食谱编写脚本
注意事项
- 速率限制:频繁请求可能被目标网站封禁,建议添加延迟
- 登录要求:某些内容需要登录才能访问,使用 browser-use 处理
- 动态内容:agent-browser 会等待页面加载完成,但对于无限滚动页面需要交互模式
- 法律合规:确保抓取行为符合目标网站的服务条款
故障排除
| 问题 | 解决方案 |
|---|---|
| 页面加载超时 | 使用 -t 增加超时时间 |
| 内容未渲染 | 使用交互模式 -i 手动等待 |
| 反爬虫拦截 | 尝试不同的 user-agent 或使用 browser-use |
| 截图空白 | 确保页面完全加载后再截图 |
More from azure12355/weilan-skills
drawio-diagrams
专业的 DrawIO 图表生成工具,使用 Material Design 配色和圆角矩形风格。支持 (1) 算法/数据结构图 - DP 状态转移、递归树、排序过程、双指针/滑动窗口 (2) 架构图 - 系统架构、微服务、网络拓扑、组件依赖 (3) 流程图/时序图 - 业务流程、决策流程、审批流程 (4) UML/ER 图 - 类图、实体关系、用例图。当用户提到 "drawio"、"draw.io"、需要绘制流程图、架构图、UML 图、ER 图、DP 状态图、算法可视化时使用此技能。
6github-researcher
GitHub 开源项目深度调研工具。在 GitHub 上搜索、分析特定领域的开源项目,汇总生成结构化调研报告。触发场景:用户要求"调研 GitHub 上的 XXX 工具"、"搜索 XXX 开源项目"、"汇总 GitHub 仓库"、"找 XXX 的开源替代方案"、"对比 GitHub 上的 XXX 项目"、或需要批量分析开源项目并输出报告时使用此 skill。
5diagram-prompter
分析代码库结构并生成各种架构图、流程图、时序图等的 AI 绘图提示词。使用场景:当用户需要为任何代码项目生成可视化图表时,包括系统架构图、模块依赖关系、数据流图、时序图、状态机图、部署架构图等。支持多种图表类型如 Mermaid、PlantUML、C4 模型、UML 类图、ER 图等。适用于技术文档编写、架构设计、代码评审、学习理解新项目等场景。
4yt-dlp-downloader
下载视频和音频的通用工具。支持 YouTube、Bilibili、Twitter/X、抖音、快手等数千个网站。当用户提供视频链接时自动下载到 ~/Downloads 文件夹。
4technical-writer
|
4antd
Ant Design 组件库专家指南。用于在 React/Next.js 应用中构建企业级管理界面、数据表格、表单、模态框等。包含组件模式、CRUD 模板、中文本地化、主题配置和 Next.js SSR 集成问题排查。
2