Skip to content
OpenSmartRoute
Skillv1.0.0

Browser Automation

Automate web browser interactions, scraping, testing, and workflow automation with Puppeteer/Playwright

by claude-office-skills(0) 0 installs
Free
Sign in to install

Free account. Installing gives you the manifest plus copy-paste snippets.

See reviews

About

Imported from claude-office-skills/skills (browser-automation/SKILL.md) via skills.sh. Install upstream with npx skills add claude-office-skills/skills --skill browser-automation. Copyright stays with the author.

Browser Automation

Automate web browser interactions for scraping, testing, and workflow automation.

Core Capabilities

Navigation

navigation:
  goto:
    url: "https://example.com"
    wait_until: "networkidle"
    timeout: 30000
    
  actions:
    - wait_for_selector: ".content"
    - scroll_to_bottom: true
    - wait_for_navigation: true

Element Interaction

interactions:
  click:
    selector: "button.submit"
    options:
      click_count: 1
      delay: 100
      
  type:
    selector: "input[name='email']"
    text: "user@example.com"
    options:
      delay: 50  # Human-like typing
      
  select:
    selector: "select#country"
    value: "US"
    
  file_upload:
    selector: "input[type='file']"
    files: ["document.pdf"]

Data Extraction

scraping:
  extract_text:
    selector: ".article-content"
    
  extract_all:
    selector: ".product-card"
    fields:
      name: ".product-name"
      price: ".price"
      url:
        selector: "a"
        attribute: "href"
        
  extract_table:
    selector: "table.data"
    output: json

Screenshots & PDF

capture:
  screenshot:
    path: "screenshot.png"
    full_page: true
    type: "png"
    
  pdf:
    path: "page.pdf"
    format: "A4"
    print_background: true

Workflow Examples

Form Automation

// Login and fill form
await page.goto('https://app.example.com/login');
await page.fill('#email', 'user@example.com');
await page.fill('#password', 'securepass');
await page.click('button[type="submit"]');
await page.waitForNavigation();

// Navigate to form
await page.click('a[href="/new-entry"]');
await page.fill('#title', 'Automated Entry');
await page.fill('#description', 'Created via automation');
await page.click('button.submit');

Web Scraping

scraping_workflow:
  - navigate: "https://news.example.com"
  - wait: ".article-list"
  - extract_all:
      selector: ".article"
      fields:
        title: "h2"
        summary: ".excerpt"
        link:
          selector: "a"
          attribute: "href"
  - paginate:
      next_button: ".pagination .next"
      max_pages: 10
  - output: "articles.json"

E2E Testing

test_workflow:
  - name: "User Registration"
    steps:
      - goto: "/register"
      - fill:
          "#email": "test@example.com"
          "#password": "Test123!"
      - click: "button[type='submit']"
      - assert:
          selector: ".success-message"
          text_contains: "Welcome"

Best Practices

  1. Wait Strategies: Use proper waits
  2. Error Handling: Catch navigation failures
  3. Rate Limiting: Be respectful to servers
  4. Headless Mode: Use for production
  5. Selectors: Prefer data-testid attributes
  6. Screenshots: Capture on failures

Use it

Copy one of these into your project. Installing also returns the manifest and these snippets.

yaml
targets:
  - https://api.opensmartroute.ai/api/v1/registry/claude-office-skills-skills-browser-automation/manifest   # or paste the manifest below

Manifest

An Open Capability Manifest: the router reads it to know what this does, what it costs and when to pick it.

claude-office-skills-skills-browser-automation.ocm.jsonjson
{
  "ocm": "1",
  "id": "claude-office-skills-skills-browser-automation",
  "kind": "skill",
  "name": "Browser Automation",
  "description": "Automate web browser interactions, scraping, testing, and workflow automation with Puppeteer/Playwright",
  "publisher": "claude-office-skills",
  "version": "1.0.0",
  "capabilities": {
    "domains": [
      "general"
    ],
    "tags": [
      "skill-md",
      "browser",
      "puppeteer",
      "playwright",
      "scraping",
      "testing",
      "skills-sh"
    ],
    "languages": [
      "en"
    ]
  },
  "quality_prior": 0.6,
  "examples": [
    "Automate web browser interactions, scraping, testing, and workflow automation with Puppeteer/Playwright"
  ],
  "primary": false,
  "metadata": {
    "source": {
      "provider": "skills.sh",
      "repository": "https://github.com/claude-office-skills/skills",
      "path": "browser-automation/SKILL.md",
      "ref": "HEAD",
      "url": "https://www.skills.sh/claude-office-skills/skills/browser-automation",
      "key": "claude-office-skills/skills/browser-automation/SKILL.md"
    }
  },
  "instructions": "# Browser Automation\n\nAutomate web browser interactions for scraping, testing, and workflow automation.\n\n## Core Capabilities\n\n### Navigation\n```yaml\nnavigation:\n  goto:\n    url: \"https://example.com\"\n    wait_until: \"networkidle\"\n    timeout: 30000\n    \n  actions:\n    - wait_for_selector: \".content\"\n    - scroll_to_bottom: true\n    - wait_for_navigation: true\n```\n\n### Element Interaction\n```yaml\ninteractions:\n  click:\n    selector: \"button.submit\"\n    options:\n      click_count: 1\n      delay: 100\n      \n  type:\n    selector: \"input[name='email']\"\n    text: \"user@example.com\"\n    options:\n   ",
  "cost": {
    "context_tokens": 705
  }
}

Fetch it by URL: GET /api/v1/registry/claude-office-skills-skills-browser-automation/manifest?version=1.0.0

Reviews

Star ratings from people who tried it. One review per account; edit yours any time.

No reviews yet. Install it, try it, and be the first to rate it.