Playwright timeout exceeded
Playwright stopped waiting because an action or assertion did not reach its expected state before the configured timeout.
RECOGNIZABLE ERROR
TimeoutError: locator.click: Timeout 30000ms exceeded.RANKED DIAGNOSIS
What usually causes it
- 01
The element never reached the required state
The locator resolved, but the target stayed hidden, disabled, moving, or covered.
DIAGNOSE
Open the trace and inspect the actionability log immediately before the timeout.
FIX
Wait for the user-visible state that enables the action, then act on a role or test-id locator.
- 02
The locator no longer identifies the intended element
A text, role, label, or DOM structure changed and the locator now resolves to zero or multiple nodes.
DIAGNOSE
Run the locator in the trace viewer or Playwright inspector and check its match count.
FIX
Replace structural selectors with a unique role, label, or test-id contract.
- 03
The application request did not complete
A failed or stalled API request prevented the page from reaching the expected state.
DIAGNOSE
Inspect failed requests and console errors in the trace instead of increasing the timeout first.
FIX
Fix or mock the failing dependency and wait on the resulting UI state rather than a fixed delay.
Prevent the repeat
- →Capture a trace on the first retry.
- →Assert the state that enables the next action.
- →Keep locator contracts stable and unique.
Primary references
Run this against your evidence
The browser triage workflow uses the same stable pattern slug and does not upload your paste.