podman-browser
Sicherheitswarnung

Run a headless Chromium browser via Podman to fetch text or HTML from JavaScript-rendered web pages using Playwright in a container.

Installieren
$clawhub install podman-browser

Podman Browser Skill

Headless browser automation using Podman + Playwright for scraping JavaScript-rendered pages.

Requirements

  • Podman 5.x+ installed and running

  • Node.js 18+ (for running the CLI)

  • Internet connection (first run pulls ~1.5GB container image)

Installation

Create a symlink for easy access:

chmod +x browse.js
ln -sf "$(pwd)/browse.js" ~/.local/bin/podman-browse

First run will pull the Playwright container image (~1.5GB).

Commands

podman-browse (or ./browse.js)

Fetch a JavaScript-rendered page and return its text content.

podman-browse "https://example.com"

Options:

  • --html - Return raw HTML instead of text

  • --wait <ms> - Wait for additional time after load (default: 2000ms)

  • --selector <css> - Wait for specific element before capturing

  • -h, --help - Show help

Examples:


# Get rendered text content from Hacker News
podman-browse "https://news.ycombinator.com"

# Get raw HTML
podman-browse --html "https://news.ycombinator.com"

# Wait for specific element
podman-browse --selector ".itemlist" "https://news.ycombinator.com"

# Extra wait time for slow pages
podman-browse --wait 5000 "https://news.ycombinator.com/newest"

How It Works

  1. Runs Microsoft's official Playwright container via Podman

  2. Uses Chromium in headless mode

  3. Waits for JavaScript to render (networkidle + custom wait)

  4. Returns text or HTML content

Container Image

Uses mcr.microsoft.com/playwright:v1.50.0-noble with [email protected] npm package (versions must match).

Files

  • browse.js - Self-contained Node.js CLI (handles args + spawns podman)

  • SKILL.md - This documentation

Notes

  • First run will pull the container image (~1.5GB)

  • Uses --ipc=host for Chromium stability

  • Uses --init to handle zombie processes

  • Sandbox disabled when running as root (fine for trusted sites)

  • Each run starts a fresh container (clean but takes ~10-15s)