Agent skill

Playwright Automation

by aAAaqwq in aAAaqwq/AGI-Super-Team

Playwright 浏览器自动化。用于自动化爬虫、数据采集、表单填写、UI 测试等需要浏览器自动化的场景。无需人工干预,适合 cron 定时任务。

MITAuto-check: notesTesting & QA

Install Playwright Automation

skills CLI
$ npx skills add aAAaqwq/AGI-Super-Team --skill playwright-automation -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install aAAaqwq/AGI-Super-Team playwright-automation --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/aAAaqwq/AGI-Super-Team.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/playwright-automation .claude/skills/playwright-automation && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
playwright-automation
GitHub stars
105
Used in
1 other repo
Token cost
~2k tokens
SKILL.md length
177 words
Files
4
Skills in repo
167
Repo updated
First seen
Licence
MIT

At a glance

Playwright 浏览器自动化。用于自动化爬虫、数据采集、表单填写、UI 测试等需要浏览器自动化的场景。无需人工干预,适合 cron 定时任务。

  • Works in 12 steps: 安装 Playwright → 基本使用 → 页面导航 → …
  • Tasks that involve Browser testing
  • SKILL.md covers 概述, 为什么需要 Playwright, 快速开始 and 常用功能, plus 3 more sections
  • Runs Python scripts from its folder; calls python3, playwright and pip

What it does

Playwright Automation is an agent skill from aAAaqwq/AGI-Super-Team. Playwright 浏览器自动化。用于自动化爬虫、数据采集、表单填写、UI 测试等需要浏览器自动化的场景。无需人工干预,适合 cron 定时任务。

Its SKILL.md is about 2k tokens, which your agent loads only when the skill is triggered. The skill folder holds 4 other files (for example `examples/basic.py`, `examples/search_example.py` and `install.py`).

It sits in Testing & QA, covering Browser testing and Scheduled and recurring tasks. It works with Playwright. The repository describes itself as: An installable, cross-framework AI organization: C-suite agents, expert subagents, curated skills, independent review, and one-command setup across 18 AI client/runtime adapters. The licence is MIT.

When your agent uses it

  • Tasks that involve Browser testing
  • Tasks that involve Scheduled and recurring tasks

Example prompts

  • “/playwright-automation”

Requirements

  • Python 3
  • Pre-approved tools (allowed-tools): Bash, Exec, Read, Write

Workflow steps

12 steps, taken from the step headings in SKILL.md.

  1. 安装 Playwright
  2. 基本使用
  3. 页面导航
  4. 元素定位
  5. 提取数据
  6. 表单操作
  7. 等待策略
  8. 滚动和交互
  9. 截图和 PDF
  10. 处理弹窗
  11. User-Agent 轮换
  12. 随机延迟

What it can do on your machine

Read from SKILL.md and the folder at commit 331ecd3. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves these tools, so the agent can use them without asking each time:

    • Bash
    • Exec
    • Read
    • Write

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Ships script files (Python), which the agent can run.

    Shell commands in SKILL.md call:

    • python3
    • playwright
    • pip

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    Links to these hosts (documentation or services it may open):

    • playwright.dev

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Playwright Automation loads about 2k tokens when it runs. Until then it costs about 24 tokens; SKILL.md has 177 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~24
When it runs · the whole SKILL.md, loaded when a task matches
~2k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check: notes

The automated check noted patterns worth knowing about, such as sudo or a known installer.

  • NotePre-approves every shell command (allowed-tools: Bash)SKILL.md
    allowed-tools: Bash, Exec, Read, Write

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from aAAaqwq/AGI-Super-Team at commit 331ecd3, republished under its MIT licence (© aAAaqwq). 177 words, ~1,952 tokens.

Download SKILL.mdSave it as .claude/skills/playwright-automation/SKILL.md (or your agent's skills folder). This skill also uses 3 other files; get the full folder from GitHub.
name
playwright-automation
description
Playwright 浏览器自动化。用于自动化爬虫、数据采集、表单填写、UI 测试等需要浏览器自动化的场景。无需人工干预,适合 cron 定时任务。
allowed-tools
Bash, Exec, Read, Write

Playwright 浏览器自动化

概述

Playwright 是一个强大的浏览器自动化工具,可以模拟真实用户操作,支持:

  • 无头浏览器模式(后台运行)
  • 数据采集和爬虫
  • 表单自动填写
  • UI 自动化测试
  • 截图和 PDF 生成

为什么需要 Playwright

⚠️ 资源清理原则(强制)

所有涉及浏览器的 cron 任务完成后,必须自动关闭 Chrome/Chromium 进程!

python
# 任务结束时必须执行
import subprocess

# 方式1: 显式关闭浏览器
await browser.close()
await context.close()

# 方式2: 强制清理残留进程(推荐在脚本结束时调用)
subprocess.run(['pkill', '-f', 'chrome'], capture_output=True)
subprocess.run(['pkill', '-f', 'chromium'], capture_output=True)

原因: 避免内存泄漏和资源占用,防止 Gateway CPU 100% 过载

与 browser tool 的区别
特性browser toolPlaywright
需要用户参与✅ 需要手动打开浏览器❌ 完全自动
适合定时任务❌✅
后台运行❌✅
调试友好✅ 可视化操作⚠️ 需要日志
无需安装✅ 已集成❌ 需要安装
使用场景

使用 Playwright:

  • ✅ 定时监控(cron 任务)
  • ✅ 大规模数据采集
  • ✅ 无人值守运行
  • ✅ 生产环境部署

使用 browser tool:

  • ✅ 交互式调试
  • ✅ 需要人工决策的操作
  • ✅ 一次性任务
  • ✅ 绕过复杂验证码

快速开始

1. 安装 Playwright
bash
# 安装 Python 包
pip install playwright

# 安装浏览器(Chromium)
playwright install chromium

# 验证安装
python3 -c "from playwright.sync_api import sync_playwright; print('✅ 安装成功')"
2. 基本使用
同步 API(简单任务)
python
from playwright.sync_api import sync_playwright

with sync_playwright() as p:
    browser = p.chromium.launch(headless=True)  # headless=False 显示浏览器
    page = browser.new_page()
    page.goto('https://example.com')
    print(page.title())
    browser.close()
异步 API(推荐,性能更好)
python
import asyncio
from playwright.async_api import async_playwright

async def main():
    async with async_playwright() as p:
        browser = await p.chromium.launch(headless=True)
        page = await browser.new_page()
        await page.goto('https://example.com')
        title = await page.title()
        print(title)
        await browser.close()

asyncio.run(main())

常用功能

1. 页面导航
python
# 等待加载完成
await page.goto('https://example.com', wait_until='domcontentloaded')

# 等待选项:
# - 'load' - 页面完全加载
# - 'domcontentloaded' - DOM 加载完成(更快)
# - 'networkidle' - 网络空闲(最慢但最稳)
2. 元素定位
python
# CSS 选择器
await page.click('button.submit')
await page.fill('input[name="username"]', 'myuser')

# XPath
await page.click('xpath=//button[@type="submit"]')

# 文本选择器
await page.click('text=登录')

# 组合选择器
await page.click('div.login-form >> text=登录')
3. 提取数据
python
# 获取文本
text = await page.text_content('h1.title')

# 获取属性
href = await page.get_attribute('a.link', 'href')

# 获取多个元素
items = await page.query_selector_all('div.item')
for item in items:
    text = await item.text_content()
    print(text)

# 执行 JavaScript
result = await page.evaluate('() => document.title')

# 获取整个 HTML
html = await page.content()
4. 表单操作
python
# 填写表单
await page.fill('input[name="username"]', 'myuser')
await page.fill('input[name="password"]', 'mypass')
await page.click('button[type="submit"]')

# 下拉选择
await page.select_option('select#country', 'China')

# 复选框
await page.check('input#agree')

# 上传文件
await page.set_input_files('input[type="file"]', 'path/to/file.pdf')
5. 等待策略
python
# 等待元素出现
await page.wait_for_selector('div.result', timeout=5000)

# 等待导航
async with page.expect_navigation():
    await page.click('a.link')

# 等待特定条件
await page.wait_for_function('() => document.title.includes("加载完成")')

# 固定延迟
import asyncio
await asyncio.sleep(2)  # 等待 2 秒
6. 滚动和交互
python
# 滚动到页面底部
await page.evaluate('window.scrollTo(0, document.body.scrollHeight)')

# 滚动到元素
await page.locator('div.footer').scroll_into_view_if_needed()

# 鼠标悬停
await page.hover('div.menu')

# 拖拽
await page.drag_and_drop('div.draggable', 'div.dropzone')
7. 截图和 PDF
python
# 截图
await page.screenshot(path='screenshot.png')

# 全页截图
await page.screenshot(path='full.png', full_page=True)

# 元素截图
await page.locator('div.content').screenshot(path='element.png')

# 生成 PDF
await page.pdf(path='page.pdf', format='A4')
8. 处理弹窗
python
# 接受 alert
async with page.expect_event('dialog') as dialog_info:
    await page.click('button')
dialog = await dialog_info.value
await dialog.accept()

# 输入 prompt
async with page.expect_event('dialog') as dialog_info:
    await page.click('button')
dialog = await dialog_info.value
await dialog.accept('my input')

反爬策略

1. User-Agent 轮换
python
user_agents = [
    'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36',
    'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36',
    'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36'
]

browser = await p.chromium.launch(
    user_agent=random.choice(user_agents)
)
2. 随机延迟
python
import random
import asyncio

# 在操作之间添加随机延迟
await asyncio.sleep(random.uniform(2, 5))
python
# 第一次登录后保存 Cookie
context = await browser.new_context()
await page.goto('https://example.com/login')
# ... 登录操作 ...
await context.storage_state(path='cookies.json')

# 后续使用保存的 Cookie
context = await browser.new_context(storage_state='cookies.json')
4. 代理设置
python
browser = await p.chromium.launch(
    proxy={
        'server': 'http://proxy.example.com:8080',
        'username': 'user',
        'password': 'pass'
    }
)
5. 浏览器上下文隔离
python
# 创建独立的上下文(相当于无痕模式)
context = await browser.new_context(
    viewport={'width': 1920, 'height': 1080},
    user_agent='Custom UA',
    locale='zh-CN'
)
page = await context.new_page()

调试技巧

1. 显示浏览器
python
# 开启有头模式,可以看到操作过程
browser = await p.chromium.launch(headless=False, slow_mo=1000)
# slow_mo=1000 会在每个操作间延迟 1 秒
2. 截图调试
python
# 在关键步骤截图
await page.goto('https://example.com')
await page.screenshot(path='step1.png')

await page.click('button')
await page.screenshot(path='step2.png')
3. 查看日志
python
# 监听控制台消息
page.on('console', lambda msg: print(f'Console: {msg.text}'))

# 监听网络请求
page.on('request', lambda request: print(f'Request: {request.url}'))
page.on('response', lambda response: print(f'Response: {response.status}'))
4. Playwright Inspector
bash
# 启动 Inspector 模式
PWDEBUG=1 python3 your_script.py

常见问题

Q: 如何处理验证码?

A: 几种方案

  1. 使用打码平台(超级鹰、若快打码)
  2. 手动处理:暂停等待用户输入
  3. 降级:用 browser tool 让用户手动操作
python
# 方案 2: 手动处理
input("遇到验证码,请在浏览器中完成,然后按回车继续...")
await asyncio.sleep(2)  # 等待验证通过
Q: 元素找不到怎么办?

A: 检查以下几点

  1. 是否在 iframe 中(需要切换)
  2. 是否动态加载(需要等待)
  3. 选择器是否正确
python
# 切换到 iframe
frame = page.frame('iframe-id')
await frame.click('button')

# 等待动态加载
await page.wait_for_selector('div.dynamic-content')
Q: 如何提高性能?

A:

  1. 使用异步 API
  2. 并发多个页面
  3. 减少不必要的等待
python
# 并发多个页面
async def fetch(url):
    page = await browser.new_page()
    await page.goto(url)
    # ...

tasks = [fetch(url) for url in urls]
await asyncio.gather(*tasks)

与 OpenClaw 集成

在 healthcare-monitor 中的使用
python
# scraper_free.py
from playwright.async_api import async_playwright

async with async_playwright() as p:
    browser = await p.chromium.launch(headless=True)
    context = await browser.new_context(
        user_agent="Mozilla/5.0 ..."
    )
    page = await context.new_page()
    await page.goto(url)
    # ... 采集数据 ...
    await browser.close()
与 browser tool 配合
  1. Playwright → 日常自动监控
  2. browser tool → 调试和异常处理

资源

快速命令

bash
# 安装
pip install playwright && playwright install chromium

# 运行脚本
python3 script.py

# 调试模式
PWDEBUG=1 python3 script.py

# 查看版本
playwright --version

记住: Playwright 让你的自动化任务完全无人值守!🚀

© aAAaqwq, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

SKILL.md and 3 other files in skills/playwright-automation of aAAaqwq/AGI-Super-Team.

  • SKILL.md
  • examples/basic.py
  • examples/search_example.py
  • install.py

Open the folder on GitHubat commit 331ecd3

Used in 1 other repository

We found 1 copy of this SKILL.md (exact, near-identical or edited) in other folders, from 1 other GitHub owner. This page covers the copy in aAAaqwq/AGI-Super-Team, which our catalogue first saw on October 7, 2026.

Compare with similar skills

Playwright Automation next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Playwright Automation compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Playwright Automation this skillaAAaqwq/AGI-Super-Team1051 repos~2kAutomated safety check: NotesMIT
Web Application Testinganthropics/skills180k51 repos~966Automated safety check: PassApache-2.0
Playwright CLIsanity-io/sanity6.4k18 repos~1.9kAutomated safety check: PassMIT
Write and Verify Playwright Testsappsmithorg/appsmith41k—~2.9kAutomated safety check: NotesApache-2.0
playwright-cli Browser Automationgithub/gh-aw5.4k23 repos~2.8kAutomated safety check: PassMIT
Cucumber and Playwright E2E Testslanggenius/dify158k—~682Automated safety check: PassCustom licence

Similar skills

  • Web Application Testing

    anthropics/skills

    Official

    Tests local web applications with Python Playwright scripts, checking frontend behavior, capturing screenshots and reading browser console logs.

    180k GitHub starsUsed in 51 repos~966 tokens
    Testing & QAAuto-check passed
  • Playwright CLI

    sanity-io/sanity

    Official

    Automates browser interactions for web testing, form filling, screenshots, and data extraction.

    6.4k GitHub starsUsed in 18 repos~1.9k tokens
    Testing & QAAuto-check passed
  • Writes a Playwright end-to-end test from a prompt, runs it against a live Appsmith deployment and retries with fixes up to three times until it passes.

    41k GitHub stars~2.9k tokensUpdated today
    Testing & QAAuto-check: notes
  • Official

    Drives a real browser from the command line with playwright-cli to open pages, interact, mock requests, save state and work with Playwright tests.

    5.4k GitHub starsUsed in 23 repos~2.8k tokens
    Testing & QAAuto-check passed
  • Guides changes and reviews of the Cucumber and Playwright end-to-end suite under `e2e/`: feature files, step definitions, support code, tags, locators and assertions.

    158k GitHub stars~682 tokensUpdated today
    Testing & QAAuto-check passed
  • E2E Testing

    langflow-ai/langflow

    Write and review Playwright E2E tests for Langflow. An agent skill from langflow-ai/langflow.

    155k GitHub stars~3.3k tokensUpdated today
    Testing & QAAuto-check passed

More from aAAaqwq/AGI-Super-Team

All 167 skills in this repo
  • Content Creator

    aAAaqwq/AGI-Super-Team

    Create SEO-optimized marketing content with consistent brand voice.

    105 GitHub starsUsed in 3 repos~1.9k tokens
    Auto-check passed
  • Financial Calculator

    aAAaqwq/AGI-Super-Team

    Advanced financial calculator with future value tables, present value, discount calculations, markup pricing, and compound interest.

    105 GitHub starsUsed in 1 repo~1.5k tokens
    Auto-check passed
  • Bankr Signals

    aAAaqwq/AGI-Super-Team

    Transaction-verified trading signals on Base blockchain. An agent skill from aAAaqwq/AGI-Super-Team.

    105 GitHub starsUsed in 2 repos~3.3k tokens
    Auto-check passed
  • Erc 8004

    aAAaqwq/AGI-Super-Team

    Register AI agents on Ethereum mainnet using ERC-8004 (Trustless Agents).

    105 GitHub starsUsed in 2 repos~1.2k tokens
    Auto-check passed
  • Frontend Design Ultimate

    aAAaqwq/AGI-Super-Team

    Create distinctive, production-grade static sites with React, Tailwind CSS, and shadcn/ui — no mockups needed.

    105 GitHub starsUsed in 2 repos~2.7k tokens
    Auto-check passed
  • Zsxq Smart Publish

    aAAaqwq/AGI-Super-Team

    Publish and manage content on 知识星球 (zsxq.com). An agent skill from aAAaqwq/AGI-Super-Team.

    105 GitHub stars~1.5k tokensUpdated today
    Auto-check passed

Works with

Categories

Questions about Playwright Automation

What does Playwright Automation do?

Playwright 浏览器自动化。用于自动化爬虫、数据采集、表单填写、UI 测试等需要浏览器自动化的场景。无需人工干预,适合 cron 定时任务。. Playwright Automation is an agent skill from aAAaqwq/AGI-Super-Team.

When should I use Playwright Automation?

Playwright Automation fits situations like: tasks that involve Browser testing; tasks that involve Scheduled and recurring tasks.

How do I install Playwright Automation in Claude Code?

Run `npx skills add aAAaqwq/AGI-Super-Team --skill playwright-automation -a claude-code`. Or copy the skill folder (skills/playwright-automation in aAAaqwq/AGI-Super-Team) into .claude/skills/playwright-automation in your project. Claude Code loads it when a task matches its description.

How do I install Playwright Automation in Codex?

Run `npx skills add aAAaqwq/AGI-Super-Team --skill playwright-automation -a codex`. Or copy the skill folder (skills/playwright-automation in aAAaqwq/AGI-Super-Team) into .agents/skills/playwright-automation in your project. Codex loads it when a task matches its description.

Can I use Playwright Automation in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add aAAaqwq/AGI-Super-Team --skill playwright-automation -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/playwright-automation, .gemini/skills/playwright-automation, .github/skills/playwright-automation and .opencode/skills/playwright-automation in your project.

What does Playwright Automation need to run?

Going by SKILL.md and its folder, Playwright Automation needs Python for the scripts in its folder and the command-line tools its instructions call (python3, playwright and pip). Our summary lists: Python 3. Its frontmatter pre-approves these tools: Bash, Exec, Read, Write.

Does Playwright Automation access the network?

SKILL.md names 1 domain. As links in the text: playwright.dev. This is read from the text; nothing was executed.

Is Playwright Automation safe to install?

Our automated static check of SKILL.md found notes only (pre-approves every shell command (allowed-tools: bash)), nothing it rates as a warning. It is not a guarantee. Review the folder before installing.

What licence does Playwright Automation use?

Playwright Automation is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Playwright Automation use?

About 2k tokens (SKILL.md is roughly 7.8k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Playwright Automation?

Skills that share tags, products or a category with Playwright Automation: Web Application Testing (anthropics/skills, 180k stars), Playwright CLI (sanity-io/sanity, 6.4k stars), Write and Verify Playwright Tests (appsmithorg/appsmith, 41k stars) and playwright-cli Browser Automation (github/gh-aw, 5.4k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Playwright Automation?

aAAaqwq (a GitHub user) maintains it in aAAaqwq/AGI-Super-Team, which has 105 GitHub stars. The repository holds 167 skills in this directory. The repository was last updated on October 8, 2026.

Source: aAAaqwq/AGI-Super-Team on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.