From 5ac2ba6fb525ff07d5884896d6d0a9e34fa42ba0 Mon Sep 17 00:00:00 2001 From: qwsdcvghyu89 <61093706+qwsdcvghyu89@users.noreply.github.com> Date: Wed, 17 Jun 2026 08:01:10 +1000 Subject: [PATCH] Added proper page capture for error debugging. --- src/services/scraper.ts | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/src/services/scraper.ts b/src/services/scraper.ts index d09b22a..010d943 100644 --- a/src/services/scraper.ts +++ b/src/services/scraper.ts @@ -86,10 +86,19 @@ export async function fetchToc( const urls = await pRetry( async () => { await driver.get(sourceUrl); + + // Capture page immediately after navigation so the analyzer always has + // something even if a later step (e.g. waitForElement) times out. + lastHtml = (await driver.executeScript( + 'return document.documentElement.outerHTML', + )) as string; + lastActualUrl = (await driver.executeScript( + 'return window.location.href', + )) as string; + await executeStealthSteps(driver, def.stealth!); - // Read the live rendered DOM (post-JS, post-uBlock) and the URL we - // actually landed on (may differ from sourceUrl after redirects). + // Re-capture after steps complete — dynamic content should now be present. lastHtml = (await driver.executeScript( 'return document.documentElement.outerHTML', )) as string;