Execution context was destroyed, most likely because of a navigation.
How to fix the Puppeteer error: Execution context was destroyed, most likely because of a navigation.
Error
Execution context was destroyed, most likely because of a navigation.
What it means
Puppeteer raised this from its WebDriver BiDi code. In practice, it usually means your script reached a browser, page, frame, element, or option state that the API cannot use safely.
How to fix it
- Do not keep handles across navigations, reloads, iframe removals, or worker shutdowns.
- Wait for navigation to settle, then query the element again in the current frame.
- Wrap actions that can trigger navigation in
Promise.all([page.waitForNavigation(...), action]).
Minimal guard
try {
// Run the Puppeteer operation that triggers this error.
} catch (error) {
if (error instanceof Error && error.message.includes("Execution context was destroyed, most li")) {
// Apply the fix above, then retry or fail with a clearer message.
}
throw error;
}