Files
stef-openclaw-skills/skills/web-automation/SKILL.md
Luke a6dffe0091 Add general flow runner and document natural-language usage
- Add flow.ts for go/click/type/press/wait/screenshot flows
- Update web-automation docs with natural-language examples
- Update SKILL.md quick reference for flow.ts
- Remove temp script files
2026-02-11 22:01:38 +00:00

2.2 KiB

name, description
name description
web-automation Browse and scrape web pages using Playwright with Camoufox anti-detection browser. Use when automating web workflows, extracting page content to markdown, handling authenticated sessions, or scraping websites with bot protection.

Web Automation with Camoufox (Codex)

Automated web browsing and scraping using Playwright with Camoufox anti-detection browser.

Requirements

  • Node.js 20+
  • pnpm
  • Network access to download browser binaries

First-Time Setup

cd ~/.openclaw/workspace/skills/web-automation/scripts
pnpm install
npx camoufox-js fetch

Prerequisite Check (MANDATORY)

Before running any automation, verify Playwright + Camoufox dependencies are installed and scripts are configured to use Camoufox.

cd ~/.openclaw/workspace/skills/web-automation/scripts
node -e "require.resolve('playwright-core/package.json');require.resolve('camoufox-js/package.json');console.log('OK: playwright-core + camoufox-js installed')"
node -e "const fs=require('fs');const t=fs.readFileSync('browse.ts','utf8');if(!/camoufox-js/.test(t)){throw new Error('browse.ts is not configured for Camoufox')}console.log('OK: Camoufox integration detected in browse.ts')"

If any check fails, stop and return:

"Missing dependency/config: web-automation requires playwright-core + camoufox-js and Camoufox-based scripts. Run setup in this skill, then retry."

Quick Reference

  • Browse page: npx tsx browse.ts --url "https://example.com"
  • Scrape markdown: npx tsx scrape.ts --url "https://example.com" --mode main --output page.md
  • Authenticate: npx tsx auth.ts --url "https://example.com/login"
  • Natural-language flow: npx tsx flow.ts --instruction 'go to https://example.com then click on "Login" then type "user@example.com" in #email then press enter'

General flow runner

Use flow.ts for multi-step commands in plain language (go/click/type/press/wait/screenshot).

Example:

npx tsx flow.ts --instruction 'go to https://search.fiorinis.com then type "pippo" then press enter then wait 2s'

Notes

  • Sessions persist in Camoufox profile storage.
  • Use --wait for dynamic pages.
  • Use --mode selector --selector "..." for targeted extraction.