The DOM is the in-memory tree representation of an HTML document that the browser builds after parsing HTML and executing JavaScript. It is the live structure that JavaScript manipulates — and the structure that browser-based scrapers like Playwright and Puppeteer interact with.
Static scrapers read raw HTML without executing JavaScript. Browser-based scrapers interact with the fully rendered DOM — necessary for JavaScript-heavy single-page apps where content only appears after client-side rendering. DOM-based scraping is slower and more resource-intensive but handles modern web apps that a raw HTTP scraper would see as nearly empty.