# Web Screenshot

> 🖼️ 任意URL全页面截图 + PDF导出工具。当用户要求截取网页、保存网页快照、截图存档、做QA对比、导出PDF时使用。支持百度/知乎/微信公众号/小红书等中文网站，自动等待JS渲染交付PNG/JPG/PDF。

- Skill: `luokai0/web-screenshot` (Agent Skill, multi-file: 4 files)
- Install (CLI): `npx skillmds@latest add luokai0/web-screenshot`
- Raw SKILL.md: https://api.skillmd.com/api/skills/luokai0/web-screenshot/raw
- Safety review: pending (external: skill-scanner PASS, skillspector PASS)
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: AI & ML
- Author: luokai0 (https://skillmd.com/u/luokai0)
- Updated: 2026-09-08
- Page: https://skillmd.com/skills/luokai0/web-screenshot

---


## When to Use（中文场景）

- 用户要求「截取某个网页」
- 用户要求「保存网页快照」「截图存档」
- 做 QA 对比、报告配图
- 需要把网页导出为 PDF
- 快速查看某个 URL 的视觉效果
- **登录后才可见的页面**：不支持，详见 Limitations

## 适用场景示例

```
用户："帮我截一下这个知乎回答"
用户："把百度搜索结果截图发给我"
用户："这个公众号文章截图存档"
用户："把这个页面导出PDF"
用户："全页面截图，要看到页面底部"
```

## Tool

Playwright Node.js (via npx cache, no install needed)
Path: `/root/.npm/_npx/e41f203b7505f1fb/node_modules`

## Quick Use — Shell Script

```bash
bash skills/web-screenshot/scripts/screenshot.sh <url> [output] [--fullpage|--pdf]
```

Examples:
```bash
# Basic screenshot (viewport)
bash scripts/screenshot.sh https://www.baidu.com /tmp/baidu.png

# Full-page screenshot (scrolls to capture entire page)
bash scripts/screenshot.sh https://example.com /tmp/full.png --fullpage

# PDF export
bash scripts/screenshot.sh https://example.com /tmp/page.pdf --pdf
```

## Quick Use — Inline Node.js

```bash
NODE_PATH=/root/.npm/_npx/e41f203b7505f1fb/node_modules node -e "
const { chromium } = require('playwright');
(async () => {
  const browser = await chromium.launch({ headless: true, args: ['--no-sandbox'] });
  const page = await browser.newPage({ viewport: { width: 1440, height: 900 } });
  await page.goto('YOUR_URL', { waitUntil: 'domcontentloaded', timeout: 15000 });
  await page.waitForTimeout(2000);
  await page.screenshot({ path: '/tmp/output.png', fullPage: false });
  await browser.close();
})().catch(e => { console.error(e.message); process.exit(1); });
"
```

## Parameters

| Parameter | Default | Notes |
|-----------|---------|-------|
| URL | required | Target URL, must be valid |
| output path | auto timestamp | `/tmp/openclaw/screenshot_YYYYMMDD_HHMMSS.png` |
| `--fullpage` | viewport only | Captures entire scrollable page |
| `--pdf` | screenshot | Exports as A4 PDF |

## Tips

- For Chinese content: Playwright handles UTF-8 fine, no extra config needed
- For dynamic pages: increase `waitForTimeout` (e.g. `5000` instead of `2000`)
- For PDF: `printBackground: true` ensures background colors/images are included
- Output size: ~100-150KB for typical pages, ~300KB+ for full-page

## Limitations

**Login-gated / anti-automation pages**: Some sites detect headless browsers and return blank content. Workaround:
- Use the site's API for data instead of screenshots
- Use a real logged-in browser for those pages
- Public static pages work fine

**Known sites with issues**: GitHub (sometimes), A2H Market (confirmed), sites with Cloudflare protection

