Playwright is a framework for web automation and testing that drives Chromium, Firefox, and WebKit through a single API. The same API serves test suites, automation scripts, and AI agents, on Linux, macOS, and Windows, headless or headed.
Playwright Test is the test runner built on it. Tests run in parallel across configured browsers, each in its own browser context, so isolation costs close to nothing and saved authentication state can be reused across tests. Locators such as getByRole, getByLabel, getByPlaceholder, and getByTestId target elements the way a user sees them, actions wait for elements to become actionable, and assertions retry until the condition holds. Traces, screenshots, and videos captured on failure open in the Trace Viewer with every action, DOM snapshot, network request, and console message.
For agents there are two entry points. The Playwright MCP server exposes browser control over the Model Context Protocol, handing the agent a structured accessibility tree with element references instead of screenshots, so no vision model is needed; its tools cover navigation, form filling, screenshots, network mocking, and storage management. The Playwright CLI is a command-line interface aimed at coding agents, which avoids loading large tool schemas and accessibility trees into the model context, and its show command opens a dashboard with live screencasts of running sessions that you can take remote control of.
Used as a plain library, Playwright handles scraping, PDF generation, screenshot capture, device emulation, and network interception without a test runner. A VS Code extension adds in-editor running, debugging, locator picking, and test recording, and bindings exist for Python, .NET, and Java alongside JavaScript and TypeScript.
Features
- One API, three engines: Chromium, WebKit, and Firefox on Linux, macOS, and Windows, headless or headed
- Auto-waiting and retrying assertions: actions wait for actionability and assertions retry, without fixed timeouts
- Resilient locators: getByRole, getByLabel, getByPlaceholder, and getByTestId instead of CSS paths
- Test isolation: a fresh browser context per test, with storage state saved once and reused
- Tracing: execution traces, screenshots, and videos inspected in the Trace Viewer
- Parallelism: tests run in parallel by default and shard across machines
- MCP server: browser control for agents over accessibility snapshots with element refs
- Agent CLI: a token-efficient command line with installable skills and a live session dashboard
- Library mode: scripting for scraping, PDFs, screenshots, device emulation, and request interception
- VS Code extension: run, debug, record tests, and pick locators from the editor
- Other languages: bindings for Python, .NET, and Java
Built with this
Amazon Nova Act
Python SDK combining natural-language steps and code to build browser agents.
Atomic Agent
Local First Ai Agent. Optimized for Local Ai models. Long context window. Proper tools callings. Runs privately on your device.
Auto Browser
Give your AI agent a real browser — with a human in the loop. Open-source MCP-native browser agent.
BetterWright
A persistent, policy-guarded Playwright browser for AI agents — network policy, encrypted credential vault, proof screenshots, and CAPTCHA s
Integrates with
Integrated by
Agent-E
Open-source browser-automation agent (SOTA on WebVoyager) with a FastAPI wrapper for programmatic use.
AgentQL
AgentQL is a suite of tools for connecting your AI to the web. Featuring a query language and Playwright integrations for interacting with e
Camofox Browser
Stealth headless browser for AI agents — bypass Cloudflare, bot detection, and anti-scraping. Drop-in Puppeteer/Playwright replacement.
Flyto Core
YAML-defined automation engine with per-step tracing and replay-from-any-step, exposing browser, API, and data modules via CLI and MCP