How to fix "Execution context was destroyed, most likely because of a navigation"?
PlaywrightThis happens when evaluation starts on one document and the page navigates before it finishes. Coordinate the click and ...
Comprehensive glossary of web scraping, crawling, and API terms. Learn the essential concepts and terminology used in web data extraction.
This happens when evaluation starts on one document and the page navigates before it finishes. Coordinate the click and ...
Frame was detached means the iframe was removed or reloaded while you were using it. Re-acquire the frame right before a...
net::ERR_ABORTED often appears when navigation is interrupted by another navigation, redirect, or page close. Avoid over...
net::ERRCONNECTIONREFUSED means nothing is listening on the target host/port. Start the web server before tests and veri...
These errors indicate network failure (offline state, blocked DNS, proxy/VPN issues, or request blocking). Stabilize tes...
This means HTTP auth credentials are missing or incorrect. Set valid httpCredentials when creating the browser context. ...
API requests and browser pages may run in separate contexts, so auth cookies do not automatically sync. Share auth via s...
This usually means storageState was saved in one context but not loaded in the project that runs your tests. Create auth...
This is a test code bug, usually from missing fixture args or wrong variable scope. Always destructure fixtures in the t...
The locator exists but is hidden, covered, or outside expected UI state. Wait for visibility and stable state before cli...
This occurs when test() is invoked outside a test file context, often in config/helpers imported by config. Keep test() ...
Downloads hang when listeners are attached after the click or when the app opens downloads in a new flow. Register waitF...
The element was re-rendered between lookup and action, so the handle became stale. Prefer locators (auto-retry) instead ...
ERRNAMENOT_RESOLVED means DNS lookup failed for the URL host. Verify baseURL, environment variables, and network access ...
Playwright package is installed, but browser binaries are missing in the environment. Install browsers (and system deps ...
This happens when the page navigates or reloads while your script is still evaluating in the old document. Wait for navi...
Upload failures usually come from wrong file paths or hidden/non-file inputs. Target a real <input type="file"> and pass...
Location APIs fail when permission is not granted for the right origin or context. Set geolocation and permissions at co...
Mobile layout can fail when viewport/device settings are overridden later in config or test. Use one clear project devic...
Elements inside iframes are not reachable from top-level page.locator(...). Use frameLocator() and wait for iframe conte...
Popup tests fail when code listens for the new page too late. Create the popup wait promise first, then click the opener...
A protocol invalid-argument error means a browser command received unsupported or malformed input. Validate option shape...
Random exits are commonly resource-related: low memory, too many workers, or unstable shared CI agents. Reduce concurren...
Interception fails when route patterns do not match actual request URLs or are registered too late. Register page.route(...
App code using Shadow DOM can hide internals from brittle CSS selectors. Prefer user-facing locators (getByRole, getByLa...
strict mode violation means your locator matches multiple elements, but the action needs exactly one. Narrow the locator...
This error appears when the browser process exits unexpectedly or test cleanup closes context/page early. Check for cras...
TimeoutError usually means Playwright could not find an actionable element in time. Use a more specific locator, wait fo...
Strict mode means a locator used for an action must match exactly one element. Refine the locator with role/name/test id...
This error appears when code uses page after page.close(), context.close(), or browser.close(). Ensure cleanup runs afte...