OA0 = Omni AI 0
OA0 是一个探索 AI 的论坛
现在注册
已注册用户请  登录
OA0  ›  技能包  ›  fast-browser-use:基于 Rust 编写的高性能浏览器自动化引擎

fast-browser-use:基于 Rust 编写的高性能浏览器自动化引擎

 
  admin ·  2026-02-16 09:23:13 · 3 次点击  · 0 条评论  

名称: fast-browser-use
displayName: 极速浏览器自动化
emoji: "⚡"
摘要: 基于 Rust 的浏览器自动化工具,DOM 解析速度比 Puppeteer 快 10 倍。
主页: https://github.com/rknoche6/fast-browser-use
primaryEnv: bash
os:
- darwin
- linux
requires:
bins:
- chrome
install:
- kind: brew
formula: rknoche6/tap/fast-browser-use
- kind: cargo
package: fast-browser-use
config:
requiredEnv:
- CHROME_PATH
example: |
# 标准无头模式设置
export CHROME_PATH="/Applications/Google Chrome.app/Contents/MacOS/Google Chrome"
export BROWSER_HEADLESS="true"


极速浏览器自动化

一个基于 Rust 的浏览器自动化引擎,通过一个轻量级二进制文件直接驱动 Chrome(通过 CDP 协议)。它针对高效令牌提取、稳健的会话管理和速度进行了优化。

终端演示

🧪 智能体使用配方

1. 通过模拟人类行为绕过“机器人检测”

模拟鼠标抖动和随机延迟来抓取受保护的网站。

fast-browser-use navigate --url "https://protected-site.com" \
  --human-emulation \
  --wait-for-selector "#content"

2. “深度冻结”快照

捕获完整的 DOM 状态以及计算样式,以便后续完美重建。

fast-browser-use snapshot --include-styles --output state.json

手动登录一次,然后窃取会话用于无头自动化。

步骤 1:打开非无头浏览器进行手动登录

fast-browser-use login --url "https://github.com/login" --save-session ./auth.json

步骤 2:后续复用会话

fast-browser-use navigate --url "https://github.com/dashboard" --load-session ./auth.json

4. 🚜 无限滚动收割机

从无限滚动页面提取最新数据——非常适合获取最新的帖子、新闻或社交媒体动态。

# 从 Hacker News 收割标题(滚动 3 次,每次间隔 800 毫秒)
fast-browser-use harvest \
  --url "https://news.ycombinator.com" \
  --selector ".titleline a" \
  --scrolls 3 \
  --delay 800 \
  --output headlines.json

真实输出(约 6 秒内获取 59 个唯一项目):

[
  "Genode OS 是一个用于构建高度安全的专用操作系统的工具包",
  "移动运营商可以获取您的 GPS 位置",
  "学生使用“人性化”程序来应对 AI 作弊指控",
  "芬兰将结束“不受控制的人类实验”,禁止青少年使用社交媒体",
  ...
]

适用于任何无限滚动页面:Reddit、Twitter、LinkedIn 动态、搜索结果等。

5. 📸 快速截图

将任何页面捕获为 PNG:

fast-browser-use screenshot \
  --url "https://example.com" \
  --output page.png \
  --full-page  # 可选:捕获整个可滚动页面

6. 🗺️ 网站地图与页面结构分析器

通过解析站点地图和分析页面结构来了解网站的组织方式。

# 基础站点地图发现(检查 robots.txt + 常见站点地图 URL)
fast-browser-use sitemap --url "https://example.com"
# 包含页面结构的完整分析(标题、导航、区块)
fast-browser-use sitemap \
  --url "https://example.com" \
  --analyze-structure \
  --max-pages 10 \
  --max-sitemaps 5 \
  --output site-structure.json

选项:
- --analyze-structure: 同时提取页面结构(标题、导航、区块、元数据)
- --max-pages N: 将结构分析限制在 N 个页面内(默认:5)
- --max-sitemaps N: 将站点地图解析限制在 N 个站点地图内(默认:10,适用于大型网站)

示例输出:

{
  "base_url": "https://example.com",
  "robots_txt": "User-agent: *\nSitemap: https://example.com/sitemap.xml",
  "sitemaps": ["https://example.com/sitemap.xml"],
  "pages": [
    "https://example.com/about",
    "https://example.com/products",
    "https://example.com/contact"
  ],
  "page_structures": [
    {
      "url": "https://example.com",
      "title": "Example - 主页",
      "headings": [
        {"level": 1, "text": "欢迎来到 Example"},
        {"level": 2, "text": "我们的服务"}
      ],
      "nav_links": [
        {"text": "关于", "href": "/about"},
        {"text": "产品", "href": "/products"}
      ],
      "sections": [
        {"tag": "main", "id": "content", "role": "main"},
        {"tag": "footer", "id": "footer", "role": null}
      ],
      "main_content": {"tag": "main", "id": "content", "word_count": 450},
      "meta": {
        "description": "Example 公司主页",
        "canonical": "https://example.com/"
      }
    }
  ]
}

可在抓取前用于了解网站架构、映射导航流程或审计 SEO 结构。

⚡ 性能对比

特性 Fast Browser Use (Rust) Puppeteer (Node) Selenium (Java)
启动时间 < 50ms ~800ms ~2500ms
内存占用 15 MB 100 MB+ 200 MB+
DOM 提取 零拷贝 JSON 序列化 慢速桥接

功能与工具

视觉与提取

  • vision_map: 返回带有编号边界框的截图叠加层,显示所有交互元素。
  • snapshot: 捕获原始 HTML 快照(针对 AI 优化的 YAML/Markdown 格式)。
  • screenshot: 捕获页面的可视图像。
  • extract: 从 DOM 中获取结构化数据。
  • markdown: 将当前页面内容转换为 Markdown。
  • sitemap: 通过 robots.txt、站点地图和页面语义分析来分析网站结构。

导航与生命周期

  • navigate: 访问特定 URL。
  • go_back / go_forward: 遍历浏览器历史记录。
  • wait: 暂停执行或等待特定条件。
  • new_tab: 打开新的浏览器标签页。
  • switch_tab: 切换到特定标签页。
  • close_tab: 关闭当前或指定的标签页。
  • tab_list: 列出所有打开的标签页。
  • close: 终止浏览器会话。

交互

  • click: 通过 CSS 选择器或 DOM 索引点击元素。
  • input: 在字段中输入文本。
  • press_key: 发送特定的键盘事件。
  • hover: 悬停在元素上。
  • scroll: 滚动视口。
  • select: 在下拉列表中选择选项。

状态与调试

  • cookies: 管理会话 Cookie(获取/设置)。
  • local_storage: 管理本地存储数据。
  • debug: 访问控制台日志和调试信息。

使用场景

此技能专为需要维护状态(如保持登录)、处理动态 JavaScript 内容或同时管理多个页面的复杂网页交互而设计。与标准的基于 fetch 的工具相比,它提供了更高的性能和控制力。

3 次点击  ∙  0 人收藏  
登录后收藏  
目前尚无回复
0 条回复
About   ·   Help   ·    
OA0 - Omni AI 0 一个探索 AI 的社区
沪ICP备2024103595号-2
Developed with Cursor