Web-Automatisierung in n8n: HTML-Node, Puppeteer und Playwright im Vergleich

n8n liest Webseiten mit dem HTML-Node aus oder nutzt Playwright/Puppeteer über einen eigenen Browser-Dienst. Die Unterschiede im Überblick.

Für einfaches Web-Scraping ohne JavaScript-Rendering reicht in n8n der eingebaute HTML-Node mit CSS-Selektoren völlig aus. Für Portale, die Inhalte erst per JavaScript nachladen, brauchen Sie zusätzlich einen echten Browser im Hintergrund, den n8n nicht mitbringt. In der Praxis lösen n8n-Nutzer das meist über einen selbst gehosteten Browserless- oder Playwright-Container, den sie per HTTP-Request-Node ansteuern, statt Puppeteer oder Playwright direkt im Code-Node laufen zu lassen. Stand: August 2026.

Was kann der eingebaute HTML-Node?

Der HTML-Node deckt laut der offiziellen Dokumentation drei Aufgaben ab: HTML-Inhalte per CSS-Selektor aus einer Quelle extrahieren, aus Workflow-Daten ein HTML-Template erzeugen oder Inhalte in eine HTML-Tabelle umwandeln. Beim Extrahieren wählen Sie per CSS-Selektor die gewünschten Elemente aus und legen fest, ob Attributwerte, der HTML-Inhalt, reiner Text oder Formularwerte zurückgegeben werden. Die Option „Return Array" bestimmt dabei, ob mehrere Treffer als Array oder als ein einzelner zusammengefasster String ausgegeben werden, zusätzlich stehen „Trim Values" und „Clean Up Text" zum Bereinigen der extrahierten Werte zur Verfügung.

Warum reicht der HTML-Node bei vielen modernen Webseiten nicht aus?

Der HTML-Node verarbeitet ausschließlich HTML-Quellen, die Sie ihm als JSON-Eigenschaft oder als Binärdatei übergeben, er bringt selbst keinen Browser und keine JavaScript-Ausführung mit. Für eine klassische serverseitig gerenderte Seite reicht das aus, weil der HTTP-Request-Node den fertigen HTML-Code per REST-Aufruf lädt und der HTML-Node ihn direkt auswerten kann. Baut eine Seite ihre Inhalte dagegen erst im Browser per JavaScript zusammen, liefert der reine HTTP-Aufruf nur ein leeres Gerüst, und der HTML-Node hat nichts zum Auswerten.

Wie binden n8n-Nutzer Playwright oder Puppeteer in der Praxis an?

In der n8n-Community hat sich ein wiederkehrendes Muster etabliert: statt Playwright direkt im Code-Node auszuführen, läuft ein selbst gehosteter Browserless-Container mit Playwright im Hintergrund, den n8n über den HTTP-Request-Node anspricht. Ein ausführlich dokumentiertes Beispiel im n8n-Forum nutzt dafür Endpunkte wie „/content", „/screenshot" und „/pdf", abgesichert über ein Header-Auth-Credential mit eigenem Token. Dieser Weg trennt sauber zwischen der Browser-Automatisierung, die viel Arbeitsspeicher braucht, und dem eigentlichen n8n-Workflow, der nur noch HTTP-Antworten verarbeitet.

Gibt es eine fertige Playwright-Node für n8n?

Eine offizielle, fertige Playwright-Node bietet n8n nicht an. In einem Thread im n8n-Forum zur lokalen Playwright-Nutzung ohne bezahlten Dienst zeigt sich, dass Nutzer sich in diesem Fall meist selbst behelfen, entweder mit einer eigenen Custom-Node auf Basis von Playwright oder eben mit der Browserless-HTTP-Route. Wer regelmäßig Screenshots, PDFs oder Inhalte aus JavaScript-lastigen Seiten braucht, kommt an einem selbst betriebenen Browser-Dienst kaum vorbei, ganz gleich ob als eigene Node oder als HTTP-Aufruf.

Häufige Fragen zu Web-Scraping in n8n

Kann der HTML-Node JavaScript-lastige Seiten direkt auslesen?

Nein. Der HTML-Node wertet nur die HTML-Quelle aus, die er als JSON- oder Binärdaten erhält, er führt selbst kein JavaScript aus. Für Seiten mit dynamisch nachgeladenen Inhalten brauchen Sie vorher einen echten Browser, etwa über einen selbst gehosteten Browserless- oder Playwright-Dienst.

Brauche ich für Web-Scraping in n8n zwingend einen bezahlten Dienst?

Nein. In der Community dokumentierte Lösungen setzen auf einen selbst gehosteten Browserless- oder Playwright-Container, den Sie per Docker betreiben und über den HTTP-Request-Node ansteuern. Die laufenden Kosten beschränken sich dann auf die eigene Server-Infrastruktur, etwa im Rahmen einer bestehenden n8n-Installation.

Was bewirkt die Option „Return Array" im HTML-Node?

Sie legt fest, ob mehrere per CSS-Selektor gefundene Treffer als Array mit mehreren Einträgen zurückgegeben werden oder zu einem einzelnen zusammengefassten String verschmelzen. Für Listen, aus denen Sie später einzelne Elemente weiterverarbeiten wollen, ist die Array-Variante meist die praktischere Wahl.

Worauf sollten Sie bei selektorbasiertem Scraping achten?

Selektorbasiertes Scraping mit CSS-Selektoren bricht in der Praxis regelmäßig, sobald die Zielseite ihr Layout oder ihre Klassennamen ändert. Community-Berichte zu Puppeteer- und Playwright-Workflows bestätigen dieses Muster wiederholt, weshalb ein produktiver Scraping-Workflow eine gewisse Wartung einplanen sollte, statt einmal eingerichtet auf Dauer unverändert zu laufen.

Simon Glowik, Gründer von NordFlux
Über den Autor

Gründer von NordFlux. Sieben Jahre Erfahrung von Web und SEO bis zur Automatisierung im Konzern-Maßstab, heute pragmatisch für den Mittelstand und mit deutscher Datenhoheit.

Zertifizierungen

  • Microsoft zertifiziert — PL-900 und AZ-900
  • UiPath zertifiziert — Automation Developer Associate
Alle Beiträge
Kostenlose Erstanalyse

Konkrete Fragen zu Automatisierung oder KI?

In der kostenlosen Erstanalyse besprechen wir Ihren Fall direkt. Unverbindlich.