The iframe or frame that was being interacted with was removed from the DOM during the operation. This commonly occurs with dynamic content that swaps iframes.
// Wait for the new frame to appear
await page.waitForSelector('iframe#embed');
const frame = page.frameLocator('iframe#embed');
await frame.locator('#button').click();After page changes, the frame reference becomes stale. Re-locate it using frameLocator.
ObserveOne tracks iframe lifecycle events and alerts when frames are unexpectedly detached during test execution.
Start Monitoring FreePlaywright waited for an element matching the given selector but it did not appear within the timeout. The element may not exist, may be hidden, or may appear under a different selector.
The target element exists in the DOM but is not visible. Playwright requires elements to be visible before interacting with them (clicking, typing, etc.).
The default action timeout (30 seconds) was exceeded before the operation could complete. This commonly occurs during navigation, element waits, or network-dependent operations.
Navigation to the target URL did not complete within the timeout period. The page either failed to respond or took too long to reach the 'load' event.
A locator matched more than one element, but the action requires exactly one. Playwright's strict mode (enabled by default) prevents ambiguous interactions.