Headless-Browser
Was ein Headless-Browser ist, wie er für automatisierte Screenshots eingesetzt wird und welche Stolperfallen es gibt.
Ein Headless-Browser ist ein Webbrowser, der ohne sichtbares Fenster läuft und per Code gesteuert wird. Er nutzt dieselbe Engine wie der normale Browser: Er parst HTML, führt JavaScript aus, berechnet das Layout und rendert Pixel, zeichnet sie aber in einen Puffer außerhalb des Bildschirms.
Chrome und Firefox haben beide einen Headless-Modus. Programme steuern sie über Protokolle wie das Chrome DevTools Protocol, WebDriver und WebDriver BiDi. Bibliotheken wie Puppeteer, Playwright und Selenium kapseln diese Protokolle in einer Programmierschnittstelle.
Da nichts auf dem Bildschirm gezeichnet wird, kann ein Headless-Browser auf Servern und in CI-Pipelines ohne Display laufen.
So funktionieren Headless-Browser
- Ein Skript startet den Browser im Headless-Modus.
- Es öffnet eine Seite, legt die Viewport-Größe fest und lädt eine URL.
- Es wartet auf ein Ereignis, etwa das load-Ereignis oder keine Netzwerkaktivität mehr.
- Es führt Aktionen wie Klicks oder Scrollen aus und fordert dann einen Screenshot oder ein PDF an.
- Es schließt die Seite oder den Browser.
Wo Headless-Browser eingesetzt werden
- Bei automatisierten Tests, die Seiten und Abläufe prüfen.
- Bei geplanten Screenshots für Monitoring und Archivierung.
- Zum Erzeugen von PDFs und Social-Media-Vorschaubildern aus HTML.
- Zum Sammeln öffentlicher Daten von Seiten, die JavaScript zum Rendern benötigen.
Headless- und Headed-Aufnahme im Vergleich
| Headless | Headed (sichtbares Fenster) | |
|---|---|---|
| Display erforderlich | Nein | Ja |
| Geschwindigkeit bei Stapeln | Meist schneller | Langsamer |
| Fehlersuche | Schwieriger, nichts zu beobachten | Einfacher |
| Erkennung durch Websites | Wahrscheinlicher | Weniger wahrscheinlich |
Manche Websites erkennen Headless-Browser und liefern andere Inhalte aus oder blockieren sie. Auch Schriften und GPU-Funktionen können sich von einem Desktop-Browser unterscheiden, sodass dieselbe Seite leicht anders gerendert wird.
Häufige Fehler
- Beim load-Ereignis aufnehmen, obwohl die Seite weiter Inhalte nachlädt.
- Den Viewport nicht festlegen, sodass jede Aufnahme eine Standardgröße verwendet.
- Viele Browser gleichzeitig auf einem schwachen Rechner ausführen.
- Fehlende Schriften auf Servern, die das Textlayout verändern.
Immer wieder dieselben Screenshots?
Temposhot Website Capture lädt URLs ohne Code in verwalteten lokalen Browsern auf Ihrem Mac, mit 1 bis 10 Concurrent browsers. Mehr dazu unter Website-Screenshot-Automatisierung.
Häufige Fragen
Muss ich für einen Headless-Browser Code schreiben?
Bibliotheken wie Puppeteer und Playwright erfordern Code. Desktop-Tools und Screenshot-Dienste verbergen diese Ebene.
Ist ein Headless-Screenshot mit einem normalen identisch?
Oft sehr ähnlich, doch Schriften, GPU-Rendering und das Verhalten der Website können abweichen.
Quellen
Weiterführende Ressourcen
- Website-Screenshots mit Playwright automatisieren: ein Codebeispiel.
- Website-Screenshots mit Puppeteer automatisieren: ein Codebeispiel.
- Schnellstart für Website Capture: die Variante ohne Code.
Machen Sie immer wieder dieselben Screenshots?
Temposhot erfasst einen Bildschirm, ein Fenster oder einen Bereich zeitgesteuert und exportiert die Serie als PDF, Bilder, ZIP oder MP4. Kostenlose Browser-Tools erstellen nur einzelne Bilder.
Verwandte Ressourcen
Verwandte Begriffe
- PuppeteerWas Puppeteer ist, wie es Screenshots aufnimmt und wie es sich bei der Browser-Automatisierung von Playwright unterscheidet.
- PlaywrightWas Playwright ist, wie es Screenshots in mehreren Browsern aufnimmt und wie es sich bei der Automatisierung von Puppeteer unterscheidet.
- Batch-ScreenshotWas Batch-Screenshots sind, wie sie sich von Einzelaufnahmen unterscheiden und wo Teams sie einsetzen.
- Screenshot-APIWas eine Screenshot-API ist, wie sie funktioniert und wann sie sich für programmgesteuerte Aufnahmen eignet.
- Visuelle RegressionstestsWas visuelle Regressionstests sind, wie der Vergleich von Screenshots UI-Fehler aufdeckt und welche Fallstricke es gibt.
- WebcrawlerWie Webcrawler funktionieren, worin sich Crawling und Scraping unterscheiden und wie Crawler zusammen mit Screenshot-Werkzeugen eingesetzt werden.
- Web ScrapingWas Web Scraping ist, wie es mit Screenshot-Aufnahmen zusammenhängt und welche rechtlichen und ethischen Fragen es aufwirft.