actionbook

Compare original and translation side by side

🇺🇸

Original

English
🇨🇳

Translation

Chinese

When to Use This Skill

何时使用此Skill

Activate this skill when the user:
  • Needs to complete a multi-step task ("Send a LinkedIn message", "Book an Airbnb")
  • Asks how to interact with a website ("How do I post a tweet?")
  • Builds browser-based AI agents or web scrapers
  • Writes E2E tests for external websites
  • Navigates to any new page during browser automation
在以下场景激活此Skill:
  • 需要完成多步骤任务(如“发送LinkedIn消息”、“预订Airbnb房源”)
  • 询问如何与网站交互(如“我怎么发推文?”)
  • 构建基于浏览器的AI Agent或网页爬虫
  • 为外部网站编写E2E测试
  • 在浏览器自动化过程中导航到任何新页面

How to Use

使用方法

Phase 1: Get Action Manual

阶段1:获取操作手册

bash
undefined
bash
undefined

Step 1: Search for action manuals

Step 1: Search for action manuals

actionbook search "arxiv search papers"
actionbook search "arxiv search papers"

Returns: area IDs with descriptions

Returns: area IDs with descriptions

Step 2: Get the full manual (use area_id from search results)

Step 2: Get the full manual (use area_id from search results)

actionbook get "arxiv.org:/search/advanced:default"
actionbook get "arxiv.org:/search/advanced:default"

Returns: Page structure, UI Elements with CSS/XPath selectors

Returns: Page structure, UI Elements with CSS/XPath selectors

undefined
undefined

Phase 2: Execute with Browser

阶段2:通过浏览器执行

bash
undefined
bash
undefined

Step 3: Open browser

Step 3: Open browser

actionbook browser open "https://arxiv.org/search/advanced"
actionbook browser open "https://arxiv.org/search/advanced"

Step 4: Use CSS selectors from Action Manual directly

Step 4: Use CSS selectors from Action Manual directly

actionbook browser fill "#terms-0-term" "Neural Network" actionbook browser select "#terms-0-field" "title" actionbook browser click "#date-filter_by-2" actionbook browser fill "#date-year" "2025" actionbook browser click "form[action='/search/advanced'] button.is-link"
actionbook browser fill "#terms-0-term" "Neural Network" actionbook browser select "#terms-0-field" "title" actionbook browser click "#date-filter_by-2" actionbook browser fill "#date-year" "2025" actionbook browser click "form[action='/search/advanced'] button.is-link"

Step 5: Wait for results

Step 5: Wait for results

actionbook browser wait-nav
actionbook browser wait-nav

Step 6: Extract data

Step 6: Extract data

actionbook browser text
actionbook browser text

Step 7: Close browser

Step 7: Close browser

actionbook browser close
undefined
actionbook browser close
undefined

Action Manual Format

操作手册格式

Action manuals return:
  • Page URL - Target page address
  • Page Structure - DOM hierarchy and key sections
  • UI Elements - CSS/XPath selectors with element metadata
yaml
  ### button_advanced_search

  - ID: button_advanced_search
  - Description: Advanced search navigation button
  - Type: link
  - Allow Methods: click
  - Selectors:
    - role: getByRole('link', { name: 'Advanced Search' }) (confidence: 0.9)
    - css: button.button.is-small.is-cul-darker (confidence: 0.65)
    - xpath: //button[contains(@class, 'button')] (confidence: 0.55)
操作手册返回内容包括:
  • Page URL - 目标页面地址
  • Page Structure - DOM层级结构和关键区域
  • UI Elements - 带有元数据的CSS/XPath选择器
yaml
  ### button_advanced_search

  - ID: button_advanced_search
  - Description: Advanced search navigation button
  - Type: link
  - Allow Methods: click
  - Selectors:
    - role: getByRole('link', { name: 'Advanced Search' }) (confidence: 0.9)
    - css: button.button.is-small.is-cul-darker (confidence: 0.65)
    - xpath: //button[contains(@class, 'button')] (confidence: 0.55)

Action Search Commands

操作搜索命令

bash
actionbook search "<query>"                    # Basic search
actionbook search "<query>" --domain site.com  # Filter by domain
actionbook search "<query>" --url <url>        # Filter by URL
actionbook search "<query>" -p 2 -s 20         # Page 2, 20 results

actionbook get "<area_id>"                     # Full details with selectors
bash
actionbook search "<query>"                    # Basic search
actionbook search "<query>" --domain site.com  # Filter by domain
actionbook search "<query>" --url <url>        # Filter by URL
actionbook search "<query>" -p 2 -s 20         # Page 2, 20 results

actionbook get "<area_id>"                     # Full details with selectors

area_id format: "site.com:/path:area_name"

area_id format: "site.com:/path:area_name"

actionbook sources list # List available sources actionbook sources search "<query>" # Search sources by keyword
undefined
actionbook sources list # List available sources actionbook sources search "<query>" # Search sources by keyword
undefined

Browser Commands

浏览器命令

Navigation

导航

bash
actionbook browser open <url>                  # Open URL in new tab
actionbook browser goto <url>                  # Navigate current page
actionbook browser back                        # Go back
actionbook browser forward                     # Go forward
actionbook browser reload                      # Reload page
actionbook browser pages                       # List open tabs
actionbook browser switch <page_id>            # Switch tab
actionbook browser close                       # Close browser
actionbook browser restart                     # Restart browser
actionbook browser connect <endpoint>          # Connect to existing browser (CDP port or URL)
bash
actionbook browser open <url>                  # Open URL in new tab
actionbook browser goto <url>                  # Navigate current page
actionbook browser back                        # Go back
actionbook browser forward                     # Go forward
actionbook browser reload                      # Reload page
actionbook browser pages                       # List open tabs
actionbook browser switch <page_id>            # Switch tab
actionbook browser close                       # Close browser
actionbook browser restart                     # Restart browser
actionbook browser connect <endpoint>          # Connect to existing browser (CDP port or URL)

Interactions (use CSS selectors from Action Manual)

元素交互(使用操作手册中的CSS选择器)

bash
actionbook browser click "<selector>"                  # Click element
actionbook browser click "<selector>" --wait 1000      # Wait then click
actionbook browser fill "<selector>" "text"            # Clear and type
actionbook browser type "<selector>" "text"            # Append text
actionbook browser select "<selector>" "value"         # Select dropdown
actionbook browser hover "<selector>"                  # Hover
actionbook browser focus "<selector>"                  # Focus
actionbook browser press Enter                         # Press key
bash
actionbook browser click "<selector>"                  # Click element
actionbook browser click "<selector>" --wait 1000      # Wait then click
actionbook browser fill "<selector>" "text"            # Clear and type
actionbook browser type "<selector>" "text"            # Append text
actionbook browser select "<selector>" "value"         # Select dropdown
actionbook browser hover "<selector>"                  # Hover
actionbook browser focus "<selector>"                  # Focus
actionbook browser press Enter                         # Press key

Get Information

获取信息

bash
actionbook browser text                        # Full page text
actionbook browser text "<selector>"           # Element text
actionbook browser html                        # Full page HTML
actionbook browser html "<selector>"           # Element HTML
actionbook browser snapshot                    # Accessibility tree
actionbook browser viewport                    # Viewport dimensions
actionbook browser status                      # Browser detection info
bash
actionbook browser text                        # Full page text
actionbook browser text "<selector>"           # Element text
actionbook browser html                        # Full page HTML
actionbook browser html "<selector>"           # Element HTML
actionbook browser snapshot                    # Accessibility tree
actionbook browser viewport                    # Viewport dimensions
actionbook browser status                      # Browser detection info

Wait

等待操作

bash
actionbook browser wait "<selector>"                   # Wait for element
actionbook browser wait "<selector>" --timeout 5000    # Custom timeout
actionbook browser wait-nav                            # Wait for navigation
bash
actionbook browser wait "<selector>"                   # Wait for element
actionbook browser wait "<selector>" --timeout 5000    # Custom timeout
actionbook browser wait-nav                            # Wait for navigation

Screenshots & Export

截图与导出

bash
undefined
bash
undefined

Ensure target directory exists before saving screenshots

Ensure target directory exists before saving screenshots

actionbook browser screenshot # Save screenshot.png actionbook browser screenshot output.png # Custom path actionbook browser screenshot --full-page # Full page actionbook browser pdf output.pdf # Export as PDF
undefined
actionbook browser screenshot # Save screenshot.png actionbook browser screenshot output.png # Custom path actionbook browser screenshot --full-page # Full page actionbook browser pdf output.pdf # Export as PDF
undefined

JavaScript & Inspection

JavaScript与元素检查

bash
actionbook browser eval "document.title"               # Execute JS
actionbook browser inspect 100 200                     # Inspect at coordinates
actionbook browser inspect 100 200 --desc "login btn"  # With description
bash
actionbook browser eval "document.title"               # Execute JS
actionbook browser inspect 100 200                     # Inspect at coordinates
actionbook browser inspect 100 200 --desc "login btn"  # With description

Cookies

Cookie管理

bash
actionbook browser cookies list                # List all cookies
actionbook browser cookies get "name"          # Get cookie
actionbook browser cookies set "name" "value"  # Set cookie
actionbook browser cookies set "name" "value" --domain ".example.com"
actionbook browser cookies delete "name"       # Delete cookie
actionbook browser cookies clear               # Clear all
bash
actionbook browser cookies list                # List all cookies
actionbook browser cookies get "name"          # Get cookie
actionbook browser cookies set "name" "value"  # Set cookie
actionbook browser cookies set "name" "value" --domain ".example.com"
actionbook browser cookies delete "name"       # Delete cookie
actionbook browser cookies clear               # Clear all

Global Flags

全局参数

bash
actionbook --json <command>           # JSON output
actionbook --headless <command>       # Headless mode
actionbook --verbose <command>        # Verbose logging
actionbook -P <profile> <command>     # Use specific profile
actionbook --cdp <port|url> <command> # CDP connection
bash
actionbook --json <command>           # JSON output
actionbook --headless <command>       # Headless mode
actionbook --verbose <command>        # Verbose logging
actionbook -P <profile> <command>     # Use specific profile
actionbook --cdp <port|url> <command> # CDP connection

Guidelines

使用指南

  • Search by task description, not element name ("arxiv search papers" not "search button")
  • Use Action Manual selectors first - they are pre-verified and don't require snapshot
  • Prefer CSS ID selectors (
    #id
    ) over XPath when both are provided
  • Fallback to snapshot when selectors fail - use
    actionbook browser snapshot
    then CSS selectors from the output
  • Re-snapshot after navigation - DOM changes invalidate previous state
  • 按任务描述搜索,而非元素名称(比如搜“arxiv搜索论文”而非“搜索按钮”)
  • 优先使用操作手册中的选择器 - 这些选择器已预先验证,无需快照
  • 当同时提供CSS ID选择器和XPath时,优先使用CSS ID选择器(如
    #id
  • 当选择器失效时,使用快照作为备选方案 - 执行
    actionbook browser snapshot
    ,然后从输出中获取CSS选择器
  • 导航后重新生成快照 - DOM变化会导致之前的状态失效

Fallback Strategy

备选策略

When Fallback is Needed

何时需要使用备选方案

Actionbook stores pre-computed page data captured at indexing time. This data may become outdated as websites evolve:
  • Selector execution failure - The returned CSS/XPath selector does not match any element
  • Element mismatch - The selector matches an element with unexpected type or behavior
  • Multiple selector failures - Several selectors from the same action fail consecutively
Actionbook存储的是索引时捕获的预计算页面数据。随着网站更新,这些数据可能会过时:
  • 选择器执行失败 - 返回的CSS/XPath选择器未匹配到任何元素
  • 元素不匹配 - 选择器匹配到的元素类型或行为不符合预期
  • 多个选择器连续失效 - 同一操作中的多个选择器接连失败

Fallback Approaches

备选方案

When Action Manual selectors don't work:
  1. Snapshot the page -
    actionbook browser snapshot
    to get the current accessibility tree
  2. Inspect visually -
    actionbook browser screenshot
    to see the current state
  3. Inspect by coordinates -
    actionbook browser inspect <x> <y>
    to find elements
  4. Execute JS -
    actionbook browser eval "document.querySelector(...)"
    for dynamic queries
当操作手册中的选择器无法使用时:
  1. 生成页面快照 - 执行
    actionbook browser snapshot
    获取当前可访问性树
  2. 可视化检查 - 执行
    actionbook browser screenshot
    查看页面当前状态
  3. 按坐标检查元素 - 执行
    actionbook browser inspect <x> <y>
    查找元素
  4. 执行JavaScript - 执行
    actionbook browser eval "document.querySelector(...)"
    进行动态查询

When to Exit

何时退出

If actionbook search returns no results or action fails unexpectedly, use other available tools to continue the task.
如果actionbook搜索无结果,或操作意外失败,请使用其他可用工具继续完成任务。

Examples

示例

End-to-end with Action Manual

结合操作手册的端到端流程

bash
undefined
bash
undefined

1. Find selectors

1. Find selectors

actionbook search "airbnb search" --domain airbnb.com
actionbook search "airbnb search" --domain airbnb.com

2. Get detailed selectors (area_id from search results)

2. Get detailed selectors (area_id from search results)

actionbook get "airbnb.com:/:default"
actionbook get "airbnb.com:/:default"

3. Automate using pre-verified selectors

3. Automate using pre-verified selectors

actionbook browser open "https://www.airbnb.com" actionbook browser fill "input[data-testid='structured-search-input-field-query']" "Tokyo" actionbook browser click "button[data-testid='structured-search-input-search-button']" actionbook browser wait-nav actionbook browser text actionbook browser close
undefined
actionbook browser open "https://www.airbnb.com" actionbook browser fill "input[data-testid='structured-search-input-field-query']" "Tokyo" actionbook browser click "button[data-testid='structured-search-input-search-button']" actionbook browser wait-nav actionbook browser text actionbook browser close
undefined

Deep-Dive Documentation

深度文档参考

For detailed patterns and best practices:
ReferenceDescription
references/command-reference.mdComplete command reference with all features
references/authentication.mdLogin flows, OAuth, 2FA handling, state reuse
如需详细模式和最佳实践,请参考:
参考文档说明
references/command-reference.md包含所有功能的完整命令参考
references/authentication.md登录流程、OAuth、2FA处理、状态复用