Playwright for Browser Rendering now available
We're excited to share that you can now use Playwright's browser automation capabilities ↗ from Cloudflare Workers.
Playwright ↗ is an open-source package developed by Microsoft that can do browser automation tasks; it's commonly used to write software tests, debug applications, create screenshots, and crawl pages. Like Puppeteer, we forked ↗ Playwright and modified it to be compatible with Cloudflare Workers and Browser Rendering ↗.
Below is an example of how to use Playwright with Browser Rendering to test a TODO application using assertions:
import { launch, type BrowserWorker } from '@cloudflare/playwright';import { expect } from '@cloudflare/playwright/test';
interface Env { MYBROWSER: BrowserWorker;}
export default { async fetch(request: Request, env: Env) {
const browser = await launch(env.MYBROWSER); const page = await browser.newPage();
await page.goto('https://demo.playwright.dev/todomvc');
const TODO_ITEMS = [ 'buy some cheese', 'feed the cat', 'book a doctors appointment' ];
const newTodo = page.getByPlaceholder('What needs to be done?'); for (const item of TODO_ITEMS) { await newTodo.fill(item); await newTodo.press('Enter'); }
await expect(page.getByTestId('todo-title')).toHaveCount(TODO_ITEMS.length);
await Promise.all(TODO_ITEMS.map( (value, index) => expect(page.getByTestId('todo-title').nth(index)).toHaveText(value) )); },};
Playwright is available as an npm package at @cloudflare/playwright
↗ and the code is at GitHub ↗.
Learn more in our documentation.
Was this helpful?
- Resources
- API
- New to Cloudflare?
- Products
- Sponsorships
- Open Source
- Support
- Help Center
- System Status
- Compliance
- GDPR
- Company
- cloudflare.com
- Our team
- Careers
- 2025 Cloudflare, Inc.
- Privacy Policy
- Terms of Use
- Report Security Issues
- Trademark