Sprint 24: amazon.de — 0.5KB DOM (nahezu keine Inhalte) #86

Closed
opened 2026-06-18 20:37:50 +00:00 by Artur · 2 comments
Owner

Problembeschreibung

amazon.de zeigt nur 0.5KB DOM an — das sind ausschließlich <head>-Elemente (meta, title, links). Kein <body>-Content, kein React-Render, keine Produkte.

Crawl-Daten:

12  https://amazon.de   ✅ PASS   3732ms   0.5KB    6     0

Vergleich:

  • Realer Browser: ~300KB+ DOM (Header, Navigation, Products, Footer)
  • Unser Browser: 0.5KB (nur <title> und <meta>)

Mögliche Ursachen

Amazon nutzt CMP (Consent Management Platform) auf amazon.de (DSGVO). Der CMP-Banner blockt das JS-Bootstrap bis der User zustimmt.

Indizien: 6 Network Requests (deutlich mehr als typische 2) — darunter vermutlich CMP-Scripte. Der CMP wird geladen, blockt aber den Haupt-Bundle.

Amazon setzt Session-Cookies via JS. Wenn document.cookie in Happy DOM anders funktioniert (oder blockiert wird), kann die Session nicht initialisiert werden → kein Rendering.

C) Region-Redirect (amazon.de → redirect?)

Amazon redirectet basierend auf Region/Cookies. Ohne Cookie-Support könnte der redirect-loop oder no-cookie-fallback (blank page) kommen.

Debug-Plan

  1. Check Network: Welche 6 Requests werden gemacht? Sind darunter Redirects?
  2. Check DOM-Inhalt: <body> leer oder gar nicht vorhanden?
  3. Check JS-Errors: Welche Errors werden geworfen (trotz PASS weil kein render crash)?
  4. Check CMP: Wird window.ue_cmp oder window.ue_init gesetzt?
  5. Check document.cookie: Können Cookies gesetzt werden in Happy DOM?

Empfohlene Vorgehensweise

  1. git checkout -b sprint-24-amazon-dom
  2. Amazon isoliert crawlen mit --detailed
  3. Network-Requests + Errors analysieren
  4. Je nach Ursache fixen
  5. Test + Commit + Push

Akzeptanzkriterien

  • DOM > 50KB (zumindest Navigation + Header)
  • Kein JS-crash im Haupt-Bundle
  • CMP-Banner wird korrekt initialisiert (oder geblockt)
  • Keine Regression bei anderen Sites

Betroffene Dateien (möglicherweise)

Datei Änderung
src/js/execution-realm.ts document.cookie Proxy?
src/pages/page.ts Cookie-Header? User-Agent?
tests/... Neuer Integration-Test
## Problembeschreibung amazon.de zeigt nur 0.5KB DOM an — das sind ausschließlich `<head>`-Elemente (meta, title, links). Kein `<body>`-Content, kein React-Render, keine Produkte. **Crawl-Daten:** ``` 12 https://amazon.de ✅ PASS 3732ms 0.5KB 6 0 ``` **Vergleich:** - Realer Browser: ~300KB+ DOM (Header, Navigation, Products, Footer) - Unser Browser: 0.5KB (nur `<title>` und `<meta>`) ## Mögliche Ursachen ### A) CMP / Cookie-Consent blockt JS-Ausführung Amazon nutzt CMP (Consent Management Platform) auf amazon.de (DSGVO). Der CMP-Banner blockt das JS-Bootstrap bis der User zustimmt. **Indizien:** 6 Network Requests (deutlich mehr als typische 2) — darunter vermutlich CMP-Scripte. Der CMP wird geladen, blockt aber den Haupt-Bundle. ### B) `document.cookie` write blockt Session-Setup Amazon setzt Session-Cookies via JS. Wenn `document.cookie` in Happy DOM anders funktioniert (oder blockiert wird), kann die Session nicht initialisiert werden → kein Rendering. ### C) Region-Redirect (amazon.de → redirect?) Amazon redirectet basierend auf Region/Cookies. Ohne Cookie-Support könnte der redirect-loop oder no-cookie-fallback (blank page) kommen. ## Debug-Plan 1. **Check Network:** Welche 6 Requests werden gemacht? Sind darunter Redirects? 2. **Check DOM-Inhalt:** `<body>` leer oder gar nicht vorhanden? 3. **Check JS-Errors:** Welche Errors werden geworfen (trotz PASS weil kein render crash)? 4. **Check CMP:** Wird `window.ue_cmp` oder `window.ue_init` gesetzt? 5. **Check `document.cookie`:** Können Cookies gesetzt werden in Happy DOM? ## Empfohlene Vorgehensweise 1. `git checkout -b sprint-24-amazon-dom` 2. Amazon isoliert crawlen mit --detailed 3. Network-Requests + Errors analysieren 4. Je nach Ursache fixen 5. Test + Commit + Push ## Akzeptanzkriterien - [ ] DOM > 50KB (zumindest Navigation + Header) - [ ] Kein JS-crash im Haupt-Bundle - [ ] CMP-Banner wird korrekt initialisiert (oder geblockt) - [ ] Keine Regression bei anderen Sites ## Betroffene Dateien (möglicherweise) | Datei | Änderung | |-------|----------| | `src/js/execution-realm.ts` | document.cookie Proxy? | | `src/pages/page.ts` | Cookie-Header? User-Agent? | | `tests/...` | Neuer Integration-Test |
Author
Owner

Sprint 19 — Debug-Ergebnis + Lösungsplan

Siehe Analyse unten. Erstelle neuen Architectural Issue mit Option A.

## Sprint 19 — Debug-Ergebnis + Lösungsplan Siehe Analyse unten. Erstelle neuen Architectural Issue mit Option A.
Author
Owner

Gelost - Amazon liefert jetzt 913.8 KB DOM

Ursache: Alte User-Agents/Header wurden von amazon mit minimalem Content (0.5KB, nur <head>) bedient. Durch Chrome-134-Header + Timing-Jitter liefert amazon jetzt den vollen Content.

Verifiziert am 19.06.2026:

  • 913.8 KB DOM (vorher 0.5 KB)
  • 200 OK in 712ms
  • nav-main + twotabsearchtextbox gefunden
  • 836KB Body-Content

Achtung: Das ist header-basiert, nicht TLS-basiert. Buns TLS-Fingerprint weicht von Chrome ab. Ein fundamentaler TLS-Impersonation-Stack (rustls/curl-impersonate) wird in einem separaten Issue behandelt.

✅ **Gelost** - Amazon liefert jetzt 913.8 KB DOM **Ursache:** Alte User-Agents/Header wurden von amazon mit minimalem Content (0.5KB, nur <head>) bedient. Durch Chrome-134-Header + Timing-Jitter liefert amazon jetzt den vollen Content. **Verifiziert am 19.06.2026:** - 913.8 KB DOM (vorher 0.5 KB) - 200 OK in 712ms - nav-main + twotabsearchtextbox gefunden - 836KB Body-Content **Achtung:** Das ist header-basiert, nicht TLS-basiert. Buns TLS-Fingerprint weicht von Chrome ab. Ein fundamentaler TLS-Impersonation-Stack (rustls/curl-impersonate) wird in einem separaten Issue behandelt.
Artur closed this issue 2026-06-19 16:31:31 +00:00
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
glow-all/true-headless-browser#86
No description provided.