返回顶部
h

hilda-Puppeteer

Automate Chrome and Chromium with Puppeteer for scraping, testing, screenshots, and browser workflows.

作者: admin | 来源: ClawHub
源自
ClawHub
版本
V 1.0.0
安全检测
已通过
73
下载量
0
收藏
概述
安装方式
版本历史

hilda-Puppeteer

## Setup On first use, read `setup.md` for integration guidelines. ## When to Use User needs browser automation: web scraping, E2E testing, PDF generation, screenshots, or any headless Chrome task. Agent handles page navigation, element interaction, waiting strategies, and data extraction. ## Architecture Scripts and outputs in `~/puppeteer/`. See `memory-template.md` for structure. ``` ~/puppeteer/ ├── memory.md # Status + preferences ├── scripts/ # Reusable automation scripts └── output/ # Screenshots, PDFs, scraped data ``` ## Quick Reference | Topic | File | |-------|------| | Setup process | `setup.md` | | Memory template | `memory-template.md` | | Selectors guide | `selectors.md` | | Waiting patterns | `waiting.md` | ## Core Rules ### 1. Always Wait Before Acting Never click or type immediately after navigation. Always wait for the element: ```javascript await page.waitForSelector('#button'); await page.click('#button'); ``` Clicking without waiting causes "element not found" errors 90% of the time. ### 2. Use Specific Selectors Prefer stable selectors in this order: 1. `[data-testid="submit"]` — test attributes (most stable) 2. `#unique-id` — IDs 3. `form button[type="submit"]` — semantic combinations 4. `.class-name` — classes (least stable, changes often) Avoid: `div > div > div > button` — breaks on any DOM change. ### 3. Handle Navigation Explicitly After clicks that navigate, wait for navigation: ```javascript await Promise.all([ page.waitForNavigation(), page.click('a.next-page') ]); ``` Without this, the script continues before the new page loads. ### 4. Set Realistic Viewport Always set viewport for consistent rendering: ```javascript await page.setViewport({ width: 1280, height: 800 }); ``` Default viewport is 800x600 — many sites render differently or show mobile views. ### 5. Handle Popups and Dialogs Dismiss dialogs before they block interaction: ```javascript page.on('dialog', async dialog => { await dialog.dismiss(); // or dialog.accept() }); ``` Unhandled dialogs freeze the script. ### 6. Close Browser on Errors Always wrap in try/finally: ```javascript const browser = await puppeteer.launch(); try { // ... automation code } finally { await browser.close(); } ``` Leaked browser processes consume memory and ports. ### 7. Respect Rate Limits Add delays between requests to avoid blocks: ```javascript await page.waitForTimeout(1000 + Math.random() * 2000); ``` Hammering sites triggers CAPTCHAs and IP bans. ## Common Traps - `page.click()` on invisible element → fails silently, use `waitForSelector` with `visible: true` - Screenshots of elements off-screen → blank image, scroll into view first - `page.evaluate()` returns undefined → cannot return DOM nodes, only serializable data - Headless blocked by site → use `headless: 'new'` or set user agent - Form submit reloads page → `page.waitForNavigation()` or data is lost - Shadow DOM elements invisible to selectors → use `page.evaluateHandle()` to pierce shadow roots - Cookies not persisting → launch with `userDataDir` for session persistence ## Security & Privacy **Data that stays local:** - All scraped data in ~/puppeteer/output/ - Browser profile in specified userDataDir **This skill does NOT:** - Send scraped data anywhere - Store credentials (you provide them per-script) - Access files outside ~/puppeteer/ ## Related Skills Install with `clawhub install <slug>` if user confirms: - `playwright` — Cross-browser automation alternative - `chrome` — Chrome DevTools and debugging - `web` — General web development ## Feedback - If useful: `clawhub star puppeteer` - Stay updated: `clawhub sync`

标签

skill ai

通过对话安装

该技能支持在以下平台通过对话安装:

OpenClaw WorkBuddy QClaw Kimi Claude

方式一:安装 SkillHub 和技能

帮我安装 SkillHub 和 hilda-puppeteer-1776014583 技能

方式二:设置 SkillHub 为优先技能安装源

设置 SkillHub 为我的优先技能安装源,然后帮我安装 hilda-puppeteer-1776014583 技能

通过命令行安装

skillhub install hilda-puppeteer-1776014583

下载 Zip 包

⬇ 下载 hilda-Puppeteer v1.0.0

文件大小: 7.05 KB | 发布时间: 2026-4-13 10:33

v1.0.0 最新 2026-4-13 10:33
Initial release of hilda-puppeteer for browser automation.

- Automate Chrome/Chromium for scraping, E2E testing, screenshots, and PDF generation.
- Includes guidance on stable selectors, waiting patterns, rate limiting, and browser management.
- Organizes automation scripts and output in a dedicated directory structure.
- Addresses common Puppeteer pitfalls and browser automation best practices.
- Stores all data locally; no credentials or data sent externally.
- Lists related skills for extended web automation capabilities.

Archiver·手机版·闲社网·闲社论坛·羊毛社区· 多链控股集团有限公司 · 苏ICP备2025199260号-1

Powered by Discuz! X5.0   © 2024-2025 闲社网·线报更新论坛·羊毛分享社区·http://xianshe.com

p2p_official_large
返回顶部