tezcatl

Render web pages and scrape JavaScript-heavy content from the command line, using the system WebKit engine. No headless Chrome, no Puppeteer, no heavy dependencies — just the WKWebView already on your Mac.

$ tezcatl https://example.com
<html lang="en"><head><title>Example Domain</title>...

$ tezcatl https://spa-site.com --wait=2000
# waits 2s after load for JS to render

Returns the fully rendered DOM by default. Use --eval to run custom JavaScript against the page instead:

$ tezcatl https://example.com --eval="document.title"
Example Domain

$ tezcatl https://example.com --eval="document.querySelectorAll('a').length"
1

Good for light scraping and quick experiments on macOS, not production crawling pipelines. Pipes with whereami, nearme, and other CLI tools via stdout.

# Pipe rendered HTML into lingua for language detection
tezcatl https://example.com | lingua detect

# Grab a page title for use in a script
TITLE=$(tezcatl https://example.com --eval="document.title")

Talks to the Objective-C runtime directly — no Swift, no Objective-C source files. Creates an offscreen WKWebView, loads the URL, waits for navigation to complete, and evaluates JavaScript against the rendered page.

brew install georgemandis/tap/tezcatl

Read More