Puppeteer
Was Puppeteer ist, wie es Screenshots aufnimmt und wie es sich bei der Browser-Automatisierung von Playwright unterscheidet.
Puppeteer ist eine Open-Source-Bibliothek für Node.js, die vom Chrome-Team bei Google gepflegt wird. Sie steuert Chrome oder Chromium und auch Firefox über das Chrome DevTools Protocol oder WebDriver BiDi. Standardmäßig läuft sie headless, sodass Seiten ohne sichtbares Fenster geladen und gerendert werden.
Ein Puppeteer-Skript startet einen Browser, öffnet Seiten und arbeitet mit ihnen wie ein Nutzer: Es navigiert, klickt, tippt und wartet auf Inhalte. Die Bibliothek wird häufig für Screenshots, PDF-Erzeugung, Scraping, Performance-Prüfungen und automatisierte Tests von Chrome-basierten Web-Apps eingesetzt.
Was Puppeteer kann
- Chrome, Chromium oder Firefox starten oder sich mit einem laufenden Browser verbinden.
- Viewport, User-Agent, Standort und Netzwerkbedingungen festlegen.
- Klicken, tippen, Formulare absenden und auf Selektoren oder Netzwerkruhe warten.
- Anfragen abfangen, um Werbung, Bilder oder Tracker zu blockieren.
- Screenshots mit
page.screenshot()und PDFs mitpage.pdf()speichern.
Screenshots mit Puppeteer
page.screenshot() speichert die Ausgabe als PNG, JPEG oder WebP. Die Option fullPage nimmt das gesamte scrollbare Dokument auf, clip ein Rechteck und ein Element-Handle ein einzelnes Element. page.setViewport() legt Breite, Höhe und deviceScaleFactor fest, der bestimmt, ob die Ausgabe in 1x- oder 2x-Auflösung entsteht.
page.pdf() unterscheidet sich von einem Screenshot. Es nutzt das Drucklayout und das Druck-CSS des Browsers und kann die Seite deshalb umbrechen oder Elemente ausblenden, während page.screenshot() den gerenderten Bildschirm festhält.
Puppeteer und Playwright im Vergleich
Puppeteer ist eine JavaScript-Bibliothek mit Schwerpunkt auf Chrome. Playwright unterstützt Chromium, Firefox und WebKit, bietet Bindings für JavaScript, Python, Java und .NET und enthält einen eingebauten Test-Runner. Puppeteer passt zu Node.js-Projekten, die nur Chrome brauchen. Playwright passt zu Teams, die die WebKit-Engine von Safari oder eine andere Sprache benötigen.
Häufige Fehler
- Den Screenshot direkt nach der Navigation aufnehmen, bevor Schriften und Bilder geladen sind.
- Erwarten, dass
page.pdf()wie der Bildschirm aussieht. - Viele Browserinstanzen gleichzeitig ausführen, bis der Arbeitsspeicher ausgeht.
- Vergessen, den Browser zu schließen, sodass Prozesse weiterlaufen.
Immer wieder dieselben Screenshots?
Website Capture in Temposhot lädt eine URL-Liste in verwalteten lokalen Browsern und speichert pro URL ein Bild mit dem Bereich Viewport oder Full page. Mehr dazu unter Website-Screenshot-Automatisierung.
Häufige Fragen
Funktioniert Puppeteer nur mit Chrome?
Chrome ist das Hauptziel. Puppeteer unterstützt über WebDriver BiDi auch Firefox.
Kann Puppeteer Retina-Screenshots aufnehmen?
Ja. Setzen Sie deviceScaleFactor in page.setViewport() auf 2, um die doppelte Pixelbreite und -höhe zu erhalten.
Muss man für Puppeteer programmieren?
Ja. Puppeteer ist eine Bibliothek, die aus JavaScript- oder TypeScript-Code unter Node.js verwendet wird.
Quellen
Weiterführende Ressourcen
- Schnellstart für Website Capture: viele URLs ohne Code aufnehmen.
- Chrome-Erweiterung: ein ganzseitiges PNG des aktuellen Tabs speichern.
- Screenshots zusammenfügen: Aufnahmen im Browser zu einem Bild verbinden.
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
- PlaywrightWas Playwright ist, wie es Screenshots in mehreren Browsern aufnimmt und wie es sich bei der Automatisierung von Puppeteer unterscheidet.
- Headless-BrowserWas ein Headless-Browser ist, wie er für automatisierte Screenshots eingesetzt wird und welche Stolperfallen es gibt.
- Screenshot-APIWas eine Screenshot-API ist, wie sie funktioniert und wann sie sich für programmgesteuerte Aufnahmen eignet.
- Browser-DevToolsWas Browser-DevTools sind, wie Sie sie für Screenshots und Responsive-Tests nutzen und welche Funktionen üblich sind.