首页龙虾技能列表 › web-screenshot — 网页截图工具

web-screenshot — 网页截图工具

v1.1.3

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

0· 1,000·4 当前·4 累计
by @jiaonvmo-maker·MIT-0
下载技能包
License
MIT-0
最后更新
2026/3/21
安全扫描
VirusTotal
无害
查看报告
OpenClaw
安全
medium confidence
该技能的代码和指令与其所述目的(通过Playwright获取全页面截图和导出PDF)匹配,并且不请求无关凭证或外泄数据,但它依赖硬编码的本地npx缓存路径,并且没有安装规范,这可能导致部署脆弱性。
评估建议
此技能似乎就是它声称的那样——基于Playwright的截图/PDF工具——但在安装之前考虑:(1) 脚本将NODE_PATH硬编码为/root/.npm/_npx/...;确保Playwright实际上在那里可用,或修改脚本以使用npx或显式安装。(2) 没有安装规范——如果您的环境缺少它,添加或运行npm/yarn/npx以提供Playwright。(3) 脚本抑制node stderr(2>/dev/null),这会隐藏错误——调试时移除抑制。(4) 渲染任意URL在无头浏览器中运行不受信任的页面内容;在隔离/沙盒环境(容器)中运行技能以限制影响范围和潜在的浏览器利用风险。(5) 如文档所述,登录门控或反机器人页面可能失败。如果您想要更高的保证,请求安装规范(受信任的发布主机)或更新脚本以可靠地获取Playwright,而不是依赖特定的缓存路径。...
详细分析 ▾
用途与能力
名称/描述与包含的脚本和SKILL.md一致:两者都使用Playwright实现截图和PDF导出。次要奇怪之处:SKILL.md和脚本假设特定的npx缓存路径(/root/.npm/_npx/...),这在描述中没有证明,并且在目标环境中可能不存在。
指令范围
运行时指令和shell脚本仅生成临时Playwright JS文件,启动无头Chromium访问提供的URL,并保存截图或PDF。该技能不读取无关的系统文件或环境变量,也不将捕获的数据发送到外部端点。
安装机制
没有安装规范;SKILL.md声称'通过npx缓存,无需安装',并且脚本将NODE_PATH设置为特定的/root npx缓存。这很脆弱(如果Playwright不在该路径上可能失败),但本质上不是恶意的。
凭证需求
该技能不请求环境变量、凭证或配置路径。唯一的环境使用是脚本内部的本地NODE_PATH覆盖(指向缓存的npx路径),这是执行内部的,不是秘密。
持久化与权限
该技能不始终启用,可由用户调用,不持久化配置或修改其他技能,仅写入临时JS文件和输出截图/PDF。
安全有层次,运行前请审查代码。

License

MIT-0

可自由使用、修改和再分发,无需署名。

运行时依赖

🖥️ OSLinux · macOS · Windows

版本

latestv1.1.32026/3/20

v1.1.3: 优化描述为功能导向,提升搜索排名;增加中文使用场景示例

● 无害

安装命令 点击复制

官方npx clawhub@latest install web-screenshot
镜像加速npx clawhub@latest install web-screenshot --registry https://cn.clawhub-mirror.com

技能文档

当...时 到 使用(中文场景)

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

适用场景示例

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

Tool

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

Quick 使用 — Shell Script

bash skills/web-screenshot/scripts/screenshot.sh  [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 使用 — Inline 节点.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

ParameterDefaultNotes
URLrequiredTarget URL, must be valid
output pathauto timestamp/tmp/openclaw/screenshot_YYYYMMDD_HHMMSS.png
--fullpageviewport onlyCaptures entire scrollable page
--pdfscreenshotExports as A4 PDF

Tips

  • 对于 Chinese content: Playwright handles UTF-8 fine, 否 extra 配置 needed
  • 对于 dynamic pages: increase waitForTimeout (e.g. 5000 代替 的 2000)
  • 对于 PDF: printBackground: 真 ensures background colors/images included
  • 输出 size: ~100-150KB 对于 typical pages, ~300KB+ 对于 满-page

Limitations

登录-gated / anti-automation pages: 一些 sites detect headless browsers 和 return blank content. Workaround:

  • 使用 site's API 对于 data 代替 的 screenshots
  • 使用 real logged-在...中 browser 对于 those pages
  • 公开 static pages work fine

Known sites 带有 issues: GitHub (sometimes), A2H Market (confirmed), sites 带有 Cloudflare protection

数据来源:ClawHub ↗ · 中文优化:龙虾技能库
OpenClaw 技能定制 / 插件定制 / 私有工作流定制

免费技能或插件可能存在安全风险,如需更匹配、更安全的方案,建议联系付费定制

了解定制服务