How to fix "Execution context was destroyed, most likely because of a navigation"?

Playwright

This happens when evaluation starts on one document and the page navigates before it finishes.

Coordinate the click and navigation in one Promise.all so Playwright tracks both.

await Promise.all([
  page.waitForNavigation({ waitUntil: 'domcontentloaded' }),
  page.getByRole('link', { name: 'Next page' }).click(),
]);

await page.evaluate(() => document.title);

Also avoid long-running page.evaluate() calls right before known navigations.