finds.dev← search

// the find

simonw/shot-scraper

★ 2,582 · Python · Apache-2.0 · updated Sep 2026

A CLI utility for taking screenshots of websites, recording video demos and scraping sites using JavaScript

A CLI built on Playwright for taking website screenshots, recording video demos, and scraping pages with injected JavaScript. Aimed at developers who want to automate documentation screenshots or lightweight scraping tasks without hand-rolling Playwright scripts, especially in CI via GitHub Actions.

Solid CLI surface covering screenshots, PDFs, HAR capture, video recording, and arbitrary JS execution against a page, all through one consistent interface. Real production usage backing it (Datasette docs, several public examples) rather than a toy project. GitHub Actions integration is a genuine differentiator - the shot-scraper-template repo lets you get screenshots into a repo with zero local setup.

It's a thin, personal-project-style wrapper around Playwright - anything Playwright doesn't expose cleanly, you're stuck. No concurrency or batching story beyond the multi-shot YAML config, so scraping many pages fast isn't really the use case. Single maintainer (simonw), so bus factor is a real concern for anyone building CI pipelines on top of it. JS scraping via `shot-scraper javascript` returns whatever you serialize yourself - there's no structured extraction/selector API, so nontrivial scraping still means writing raw browser JS.

View on GitHub → Homepage ↗

// want more like this?

We dig through GitHub every week and send a few repos picked for what you actually care about — each with an honest take like this one.

Get finds in your inbox → Search again →