cloudflare-browser-rendering

Automate headless Chrome rendering on Cloudflare Workers with Puppeteer or Playwright.

52|6|Updated Nov 24, 2025
One-click install
npx skills add https://github.com/ovachiever/droid-tings --skill cloudflare-browser-rendering-ovachiever
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: cloudflare-browser-rendering
Source: https://github.com/ovachiever/droid-tings/tree/main/skills/cloudflare-browser-rendering
Command: npx skills add https://github.com/ovachiever/droid-tings --skill cloudflare-browser-rendering-ovachiever

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill requires @cloudflare/puppeteer, @cloudflare/playwright, and includes scripts (resource) and references (resource) and assets (resource) components.

What problem does it solve?

Provides headless browser rendering on Cloudflare Workers using Puppeteer or Playwright, enabling screenshots, PDFs, and web automation at the edge.

Core Features & Use Cases

  • Puppeteer/Playwright integration on Workers bindings
  • Screenshots and PDF generation
  • Web scraping and multi-page automation
  • Session management and cost-aware patterns

Quick Start

Set up a browser binding, install the library, and start rendering at the edge.

Frequently Asked Questions about cloudflare-browser-rendering

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I take screenshots on Cloudflare Workers?

Screenshots on Cloudflare Workers use headless Chromium via Puppeteer or Playwright bindings. Set up a browser binding in wrangler.jsonc, install the library, then call page.screenshot() to capture and return images at the edge.

Can I use Puppeteer and Playwright on Cloudflare Workers?

Yes. Cloudflare provides @cloudflare/puppeteer and @cloudflare/playwright packages that run headless Chrome natively on Workers. Both support screenshots, PDFs, web scraping, and browser automation without external APIs.

How do I handle browser session limits and timeouts on Workers?

Manage session limits through worker bindings configuration and session history tracking. Use incognito contexts, implement retry logic for timeouts, call disconnect() to release sessions, and monitor binding-not-passed errors to stay within cost limits.

What's the best way to scrape multiple pages with headless Chrome on Workers?

Use Puppeteer or Playwright's multi-page automation to launch or connect sessions, navigate pages sequentially, and extract data. Apply session management patterns and error handling with retries to handle XPath errors and maintain stability across crawls.

Can I generate PDFs from web pages on Cloudflare Workers?

Yes. Puppeteer and Playwright on Workers both support PDF generation via page.pdf(). Render the page content, configure PDF options, and return the buffer—all executed at the edge without external services.

Why am I getting binding-not-passed errors when rendering on Workers?

Binding-not-passed errors occur when the browser binding isn't declared in wrangler.jsonc or the Worker doesn't have permission to access it. Verify the binding configuration, ensure the Worker is deployed with the correct service binding, and check that launch or connect calls reference the binding correctly.