# Kaabist vs Playwright, by hand

Playwright is the engine under a great deal of browser automation, Kaabist's included. Writing it by hand gives you total control and every operational problem: logins that expire, selectors that break, a 2FA code someone has to type at the keyboard, a retry that submits twice.

Playwright, by hand, in their words: "Playwright enables reliable end-to-end testing for modern web apps." (https://playwright.dev)

Playwright, by hand pricing: Free and open source. You run the browsers, the scheduling and the recovery yourself. Source: https://playwright.dev

## Capabilities

| Capability | Kaabist | Playwright, by hand | Note and source |
|---|---|---|---|
| Logged-in, multi-step flows | yes | yes | Anything a browser can do, in code you write and maintain. https://playwright.dev/docs/auth |
| Persistent sessions | yes | yes | Storage state saves a login for reuse. https://playwright.dev/docs/auth |
| Self-healing locators, delivered as proposals you review | yes | no | Locators are what you wrote; when the page changes, the script fails until you fix it. https://playwright.dev/docs/locators |
| Resume a program from its checkpoint after a person answers | yes | no | No built-in way to pause a run for your input and resume it hours later. https://playwright.dev/docs/intro |
| Side-effect fences: a submit never runs twice | yes | no | A retry runs the whole script again, submit included. https://playwright.dev/docs/intro |
| A coding agent builds the program over MCP | yes | partial | Playwright MCP lets an agent drive a browser; it does not leave a program behind. https://github.com/microsoft/playwright-mcp |
| Schedules and change detection | yes | no | Scheduling, change detection and alerts are yours to build. https://playwright.dev/docs/intro |

## When to choose Playwright, by hand

The flow is simple, rarely changes, never needs your input in the middle, and you would rather own every line than run it as a service.

By Kaabist. Last verified 10 October 2026 against Playwright, by hand's public documentation. Method: /vs#method
