web-screenshot
/install 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 skills/web-screenshot/scripts/screenshot.sh \x3Curl> [output] [--fullpage|--pdf]
Examples:
# 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
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.5000instead of2000) - For PDF:
printBackground: trueensures 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
- Make sure OpenClaw is installed (local or Docker)
- Run the install command in chat:
/install web-screenshot - After installation, invoke the skill by name or use
/web-screenshot - Provide required inputs per the skill's parameter spec and get structured output
What is web-screenshot?
🖼️ 任意URL全页面截图 + PDF导出工具。当用户要求截取网页、保存网页快照、截图存档、做QA对比、导出PDF时使用。支持百度/知乎/微信公众号/小红书等中文网站,自动等待JS渲染交付PNG/JPG/PDF。 It is an AI Agent Skill for Claude Code / OpenClaw, with 1512 downloads so far.
How do I install web-screenshot?
Run "/install web-screenshot" in the OpenClaw or Claude Code chat to install it in one step — no extra setup required.
Is web-screenshot free?
Yes, web-screenshot is completely free, licensed under MIT-0. You can download, install and use it at no cost.
Which platforms does web-screenshot support?
web-screenshot is cross-platform and runs anywhere OpenClaw / Claude Code is available (linux, darwin, win32).
Who created web-screenshot?
It is built and maintained by jiaonvmo-maker (@jiaonvmo-maker); the current version is v1.1.3.