browser-automation

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

INSTALLATION
npx skills add https://github.com/claude-office-skills/skills --skill browser-automation
Run in your project or agent environment. Adjust flags if your CLI version differs.

SKILL.md

$27

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

  • Wait Strategies: Use proper waits
  • Error Handling: Catch navigation failures
  • Rate Limiting: Be respectful to servers
  • Headless Mode: Use for production
  • Selectors: Prefer data-testid attributes
  • Screenshots: Capture on failures
BrowserAct

Let your agent run on any real-world website

Bypass CAPTCHA & anti-bot for free. Start local, scale to cloud.

Explore BrowserAct Skills →

Stop writing automation&scrapers

Install the CLI. Run your first Skill in 30 seconds. Scale when you're ready.

Start free
free · no credit card