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