CLI Tools2026年5月11日·1 分钟阅读

shot-scraper — Headless Chrome Screenshots from CLI

Simon Willison's CLI for screenshots + HTML capture from any URL via headless Chrome. Selector cropping, JS injection, YAML batch, cron snapshots.

Agent 就绪

这个资产可以被 Agent 直接读取和安装

TokRepo 同时提供通用 CLI 命令、安装契约、metadata JSON、按适配器生成的安装计划和原始内容链接,方便 Agent 判断适配度、风险和下一步动作。

Stage only · 17/100Stage only
Agent 入口
任意 MCP/CLI Agent
类型
CLI Tool
安装
Single
信任
信任等级:New
入口
Asset
通用 CLI 安装命令
npx tokrepo install e6de95b2-cd27-44da-adfc-86fbc18686f7

简介

shot-scraper 是 Simon Willison 在 Playwright 之上包的 CLI —— headless Chrome 抓任何 URL 截图:全页、按 selector 裁剪元素、注入 JS、批量 YAML 配置、用 GitHub Actions cron 追踪页面变化。适合文档截图、视觉回归测试、OG 图生成、定时抓公开页面。任何 OS、Python 3.10+ 都行。装机时间 3 分钟。


安装 + 第一张图

pip install shot-scraper
shot-scraper install   # 下载 Chromium

# 整页截图
shot-scraper https://tokrepo.com -o tokrepo.png

元素 + 选择器

# 只截 hero 区
shot-scraper https://tokrepo.com --selector ".hero" -o hero.png

# 等某个元素出现再截
shot-scraper https://tokrepo.com --wait-for "document.querySelector('.assets').children.length > 5"

截图前注入 JS

# 先隐藏 cookie banner 再截
shot-scraper https://example.com \
  --javascript "document.querySelector('.cookie-banner').remove()" \
  -o cleaned.png

批量 YAML 配置

# shots.yml
- url: https://tokrepo.com
  output: home.png
  width: 1280
  height: 800

- url: https://tokrepo.com/en/packs
  output: packs.png
  selector: ".arsenal"
  width: 1200

- url: https://tokrepo.com/en/authors
  output: authors.png
  full_page: true
shot-scraper multi shots.yml

GitHub Actions cron 追踪变化

# .github/workflows/snapshot.yml
on:
  schedule: [{ cron: "0 8 * * *" }]
jobs:
  snap:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - run: pip install shot-scraper && shot-scraper install
      - run: shot-scraper multi shots.yml
      - run: git add . && git diff --cached --stat && git commit -m "Daily snapshot $(date +%F)" && git push

FAQ

Q: shot-scraper vs 原生 Playwright? A: shot-scraper 是 80% 场景一行搞定。需要登录流、复杂表单填写、多步导航就直接用 Playwright。shot-scraper 包了 Playwright,下沉一步就回到原生。

Q: 能抓 HTML 不只是图片吗? A: 能 —— shot-scraper html https://example.com -o page.html 保存 JS 渲染后的 HTML。配 --javascript 在抓取前跑抓取逻辑。SPA 抓取适用。

Q: Cookie / 鉴权? A: 用 --auth auth.json 传 Playwright storage state 文件。先用 shot-scraper auth https://example.com 打开真浏览器登录一次。之后自动截图都带身份。


🙏

来源与感谢

Built by Simon Willison. Licensed under Apache-2.0.

simonw/shot-scraper — ⭐ 1,700+

讨论

登录后参与讨论。
还没有评论,来写第一条吧。

相关资产