Catalog108 / challenges / dynamic/shadow-dom/closed

Closed Shadow DOM

intermediate Matching curriculum →

What this challenge teaches

Teaches: Content in {mode: "closed"}, element.shadowRoot returns null. Harder but not impossible.

Expected output: Playwright pierces closed roots automatically; Selenium often cannot. Or read from network.

Submit your scraper's JSON output to /challenges/dynamic/shadow-dom/closed/grade (grader endpoint is part of a later phase; URL is reserved now).

Same content as the open variant, but the shadow root is closed, element.shadowRoot returns null.