Latenode

Browserless Chrome: Ein leistungsstarkes Tool für die Browserautomatisierung

Optimieren Sie die Browserautomatisierung mit einem cloudbasierten Headless-Chrome-Service für Web Scraping, PDF-Erstellung und Tests.

9 Min. Lesezeit
Cloudbasierte Browserautomatisierung mit Browserless Chrome

Browserless Chrome ist ein cloudbasierter Service, der die Browser-Automatisierung vereinfacht, indem er Headless Chrome für Aufgaben wie Web Scraping, PDF-Erstellung und Tests ausführt. Lokale Browser-Setups werden überflüssig, während Browser-Abstürze, Session-Isolierung und Ressourcenoptimierung automatisch verwaltet werden. Zu den wichtigsten Vorteilen gehören:

  • Kein lokales Setup: Nutzen Sie Docker oder eine Cloud-Bereitstellung, um schnell zu starten.
  • Hohe Performance: Screenshots in ca. 1 Sekunde, PDFs in ca. 2 Sekunden.
  • Umgehung der Bot-Erkennung: Überwindet Blockaden wie Cloudflare für zuverlässige Automatisierung.
  • Ressourceneffizienz: Reduziert den Einsatz von Proxys und virtuellen Maschinen um bis zu 90 %.

Schnelles Setup: Integrieren Sie beliebte Bibliotheken wie Puppeteer, Playwright oder Selenium mit einfachen Verbindungsmethoden. Browserless bietet außerdem APIs für Web Scraping, JavaScript-Rendering und individuelle Automatisierungs-Workflows.

Funktionsvergleich auf einen Blick

FunktionVorteilBeispiel
Session-BereinigungEntfernt inaktive Sessions automatischHält Ressourcen optimiert
Vermeidung der Bot-ErkennungUmgeht Blockaden wie CloudflareZuverlässig für Scraping-Aufgaben
Verarbeitung mehrerer AufgabenBearbeitet parallele Anfragen effektivMehr als 2 Mio. Sessions pro Woche verarbeitet
Einsatzbereite APIsVereinfacht AutomatisierungsaufgabenJSON-Datenextraktion, PDFs

Browserless Chrome ist ideal für Entwickler und Unternehmen, die ihre Automatisierung optimieren möchten, ohne komplexe Infrastruktur verwalten zu müssen.

Einrichtungsanleitung

Installation

Für den Einstieg mit Browserless Chrome können Sie zwischen zwei Installationsoptionen wählen: einem lokalen Setup mit Docker oder einer Cloud-Bereitstellung. Verwenden Sie für ein lokales Docker-Setup den folgenden Befehl:

docker run -p 3000:3000 ghcr.io/browserless/chromium

Dieser Befehl lädt das neueste Image herunter und macht es über Port 3000 zugänglich [3]. Er funktioniert nahtlos unter Windows, macOS und Linux.

Erstkonfiguration

Browserless Chrome umfasst mehrere integrierte Funktionen, die den Einrichtungsprozess vereinfachen:

FunktionStandardeinstellungZweck
Session-Bereinigung30 SekundenEntfernt inaktive Sessions automatisch
ZustandsprüfungenAktiviertGewährleistet Systemstabilität
AnfragenwarteschlangeKonfigurierbarVerwaltet mehrere parallele Verbindungen
RessourcenlimitsAnpassbarSteuert Speicher- und CPU-Auslastung

Sie können die Umgebung durch das Festlegen dieser Variablen anpassen:

MAX_CONCURRENT_SESSIONS=10
CONNECTION_TIMEOUT=30000
MAX_QUEUE_LENGTH=100

Nach der Konfiguration können Sie sich mit Ihrer bevorzugten Integrationsmethode mit Browserless verbinden.

Ihre erste Verbindung herstellen

Je nach verwendeter Bibliothek können Sie Ihre erste Verbindung wie folgt herstellen:

  • Puppeteer-Verbindung
const browser = await puppeteer.connect({
  browserWSEndpoint: 'wss://chrome.browserless.io?token=YOUR-API-TOKEN'
});
  • Playwright-Integration
const browser = await playwright.firefox.connect(
  `wss://production-sfo.browserless.io/firefox/playwright?token=${TOKEN}&proxy=residential`
);
  • REST-API-Zugriff
curl -X POST https://chrome.browserless.io/content
  -H 'Content-Type: application/json'
  -H 'Authorization: Basic YOUR-BASE64-TOKEN'
  -d '{ "url": "https://example.com/"}'

Browserless V2 verbessert die Zuverlässigkeit mit zwei regionalen Endpunkten: der US-Westküste (production-sfo.browserless.io) und Europa (production-lon.browserless.io). Diese Endpunkte übernehmen die Session-Isolierung, verwalten parallele Anfragen und stellen sich nach Abstürzen automatisch wieder her. Außerdem bereinigen sie inaktive Sessions nach 30 Sekunden, indem sie für jede neue Session eine neue Browser-Instanz starten [4].

Hauptfunktionen

Grundlagen des Headless Browsers

Browserless Chrome arbeitet ohne grafische Benutzeroberfläche im Headless-Modus. Für eingehende Anfragen startet es automatisch neue Browser-Instanzen und sorgt so für eine effiziente Ressourcennutzung.

Hier ist ein kurzer Überblick über die wichtigsten Funktionen:

FunktionBeschreibungVorteil
Session-IsolierungUnabhängige Browser-SessionsSenkt Infrastrukturkosten
Automatische WiederherstellungStartet nach Abstürzen neuHält Prozesse am Laufen
RessourcenoptimierungEffiziente Nutzung von Speicher und CPUSteigert die Gesamtperformance

Über diese Grundlagen hinaus ist Browserless darauf ausgelegt, mehrere Aufgaben gleichzeitig problemlos zu bewältigen.

Verarbeitung mehrerer Aufgaben

Mit über 2 Millionen verarbeiteten Sessions hat Browserless Chrome Millionen von Screenshots, PDFs und Testergebnissen erstellt [5]. Das intelligente Warteschlangenmanagement stellt sicher, dass Anfragen verarbeitet werden, ohne Ressourcen zu überlasten, und gewährleistet eine konstante Performance. Dies hat sich insbesondere für Unternehmen wie Samsara als nützlich erwiesen, das für bessere Skalierbarkeit von einem intern entwickelten Testservice zu Browserless wechselte.

„Browserless bietet eine Reihe von Funktionen, die Webbrowser-Automatisierungsaufgaben vereinfachen und beschleunigen. Mit seiner robusten API und der Fähigkeit, parallele Prozesse zu verarbeiten, hebt sich Browserless als führende Lösung im Automatisierungsbereich hervor.“ – Elest.io

Browserless überzeugt nicht nur bei der parallelen Verarbeitung von Aufgaben, sondern vereinfacht Automatisierungs-Workflows auch durch einsatzbereite APIs.

Einsatzbereite API-Funktionen

Browserless bietet APIs für häufige Automatisierungsanforderungen, die seine Kernfunktionen erweitern:

  • Web-Scraping-API: Extrahiert strukturierte JSON-Daten aus Elementen einer Webseite.
  • Unblock-API: Ruft HTML-Inhalte ab, nachdem JavaScript ausgeführt wurde.
  • Function-API: Führt individuellen Puppeteer-Code mit ESM-Modulimporten aus.

Diese APIs haben in der Praxis überzeugende Ergebnisse erzielt:

„Wir begannen, die Headless Browser eines anderen Scraping-Anbieters zum Ausführen von Puppeteer-Skripten zu nutzen. Aufgrund langsamer Abrufzeiten war jedoch ein Vercel-Upgrade erforderlich, und die Proxys funktionierten nicht korrekt. Ich fand Browserless und unser Puppeteer-Code lief innerhalb einer Stunde. Die Scrapes sind jetzt 5-mal schneller und kosten ein Drittel, außerdem war der Support hervorragend.“ – Nicklas Smit, Full-Stack Developer, Takeoff Copenhagen [2]

„Wir haben ein Scraping-Tool entwickelt, um unsere Chatbots mit öffentlichen Websitedaten zu trainieren, doch durch Sonderfälle und Bot-Erkennung wurde es schnell kompliziert. Ich fand Browserless und plante einen ganzen Tag für die Integration ein, aber sie dauerte nur wenige Stunden. Ich musste kein Experte für die Verwaltung von Proxy-Servern oder virtuellen Computern werden und kann mich jetzt auf die Kernbereiche des Unternehmens konzentrieren.“ – Mike Heap, Founder, My AskAI [2]

Was ist browserless?

sbb-itb-23997f1

Leitfaden zur Bibliotheksintegration

Browserless Chrome funktioniert nahtlos mit führenden Automatisierungsbibliotheken und bietet Performance sowie Zuverlässigkeit. So können Sie es mit einigen der beliebtesten Tools integrieren.

Puppeteer-Integration

Der Wechsel zu Browserless mit Puppeteer ist einfach: Ersetzen Sie einfach puppeteer.launch() durch puppeteer.connect() [6].

Setup-TypCodestrukturVorteile
Herkömmliches PuppeteerVerwendet puppeteer.launch()Verbraucht lokale Ressourcen
Browserless PuppeteerVerwendet puppeteer.connect()Für die Cloud optimiert
Erweitertes BrowserlessIndividuelle StartargumenteErweiterte Konfigurationen

Sie können auch individuelle Startargumente über den WebSocket-Endpunkt übergeben:

const launchArgs = JSON.stringify({
  args: ['--window-size=1920,1080'],
  stealth: true,
  timeout: 5000
});
const browser = await puppeteer.connect({
  browserWSEndpoint: `wss://production-sfo.browserless.io/?token=YOUR_API_TOKEN_HERE&launch=${launchArgs}`
});

Dieses Setup unterstützt erweiterte Konfigurationen und bleibt dabei einfach.

Playwright-Integration

Browserless funktioniert ebenso gut mit Playwright. Hier ist ein Beispiel für eine Verbindung mit Firefox:

// Firefox implementation with Playwright Protocol
const browser = await playwright.firefox.connect(
  'wss://production-sfo.browserless.io/firefox/playwright?token=YOUR_API_TOKEN_HERE'
);

Für Entwickler, die Python verwenden, gewährleistet Browserless eine einheitliche Erfahrung:

with sync_playwright() as p:
  browser = p.firefox.connect('wss://production-sfo.browserless.io/firefox/playwright?token=YOUR_API_TOKEN_HERE')
  context = browser.new_context()

Diese sprachübergreifende Kompatibilität erleichtert die Integration von Browserless in verschiedene Workflows.

Selenium-Integration

Verwenden Sie für Selenium die folgende Ruby-Konfiguration, um eine Verbindung mit Browserless herzustellen:

caps = Selenium::WebDriver::Remote::Capabilities.chrome("goog:chromeOptions" => {
  "args" => [
    "--disable-dev-shm-usage",
    "--disable-extensions",
    "--headless",
    "--no-sandbox"
  ]
})

Sie können die WebDriver-Verbindung mit einem einfachen URL-Format herstellen:

driver = Selenium::WebDriver.for :remote, 
  url: "https://[email protected]/webdriver",
  desired_capabilities: caps

Dieses Setup gewährleistet einen sicheren und effizienten Betrieb und nutzt Sandboxing sowie weitere ressourcenschonende Funktionen. Schließen Sie Browser-Instanzen nach der Nutzung immer, um Speicherlecks zu vermeiden und die Ressourcennutzung zu optimieren.

Performance-Tipps

Bei der Arbeit mit Browserless Chrome ist Performance-Management entscheidend für eine hohe Effizienz. Da die Plattform wöchentlich fast 5 Millionen Headless-Sessions verarbeitet [8], sind ein sorgfältiges Ressourcen- und Sicherheitsmanagement für reibungslose Abläufe in diesem Umfang unerlässlich.

Ressourcenmanagement

Effizientes Ressourcenmanagement beginnt mit dem Umgang mit Browser-Instanzen. Statt für jede Aufgabe eine neue Instanz zu erstellen, sollten Sie vorhandene Instanzen wiederverwenden, um den Aufwand für das Starten neuer Sessions zu reduzieren:

const browser = await puppeteer.connect({ 
  browserWSEndpoint: 'wss://chrome.browserless.io?token=YOUR-TOKEN' 
});
// Reuse the instance by disconnecting instead of closing
await browser.disconnect();

Eine weitere wirksame Maßnahme besteht darin, unnötige Assets zu blockieren, um den Ressourcenverbrauch zu senken. Hier ist eine Übersicht:

RessourcentypAuswirkung auf die PerformanceEmpfohlene Maßnahme
BilderVerbrauchen hohe BandbreiteMit page.setRequestInterception() blockieren
CSS-DateienBenötigen zusätzlichen SpeicherDeaktivieren, sofern nicht entscheidend für das Layout
SchriftartenVerlangsamen das LadenExterne Schriftanfragen blockieren

Browserless.io meldete beispielsweise im September 2024 eine Performance-Verbesserung: Durch das Blockieren dieser Ressourcen verringerte sich die Ausführungszeit von 2.114 ms auf 1.676 ms [10].

Umgang mit hohem Traffic

Sobald Ressourcen optimiert sind, besteht der nächste Schritt darin, hohen Traffic effektiv zu verwalten. Horizontale Skalierung ist zuverlässiger als die Abhängigkeit von wenigen großen Instanzen.

„Chrome ist wirklich, wirklich gut darin, die gesamten Systemressourcen zu nutzen, und verwendet für die meisten Aufgaben gerne zu gleichen Teilen CPU und Speicher.“ [8]

Für Anforderungen mit hohem Volumen sollten Sie diese Strategien berücksichtigen:

  • Verwenden Sie Nginx für Load Balancing über mehrere kleinere Browserless-Instanzen.
  • Aktivieren Sie Zustandsprüfungen vor Anfragen mit PRE_REQUEST_HEALTH_CHECK=true und begrenzen Sie parallele Sessions mit MAX_CONCURRENT_SESSIONS=10.
  • Stellen Sie eine ordnungsgemäße Prozessbeendigung sicher, um verbleibende „Zombie“-Prozesse zu vermeiden.

„Unabhängig davon, wo oder wie Sie Ihre Headless-Sessions ausführen: Es ist wichtig, Chrome mit dem Feuer von tausend Sonnen zu beenden.“ [8]

Sicherheitskonfiguration

Ein sicheres Setup schützt nicht nur Ihre Daten, sondern gewährleistet auch eine konstante Performance bei hoher Auslastung. So sichern Sie Ihre Bereitstellung:

  • Speichern Sie API-Schlüssel als Hash-Werte in sicheren Umgebungen.
  • Verwenden Sie IP-Beschränkungen zur Zugriffskontrolle.
  • Aktivieren Sie rollenbasiertes Zugriffsmanagement.
  • Wenden Sie Rate Limiting auf API-Endpunkte an.

Legen Sie bei Docker-Bereitstellungen Ressourcenlimits fest, um Überlastungen zu verhindern:

docker run -e MAX_CONCURRENT_SESSIONS=10 \
    -e CONNECTION_TIMEOUT=30000 \
    --memory=2g \
    --cpu-shares=1024 \
    browserless/chrome

Für die Verarbeitung von nicht vertrauenswürdigem Code verwenden Sie das Modul vm2, um isolierte Umgebungen zu erstellen. Dieser Ansatz verhindert CPU-intensive Angriffe. Seit dem 5. März 2018 verwendet Browserless.io dumb-init in Docker-Containern, um die Prozessbeendigung effektiv zu verwalten [9].

Zusammenfassung

Browserless Chrome vereinfacht die Automatisierung, indem es die aufwendigen Infrastrukturaufgaben übernimmt, die früher einen erheblichen Teil der Zeit von Entwicklern beanspruchten – etwa 60 %. Durch die Isolierung von Chrome von Kernservices gewährleistet es besseres Load Balancing, Skalierbarkeit und Fehlermanagement. Ein bemerkenswertes Beispiel ist Samsara, das seine Puppeteer-basierten Tests überarbeitete und den Aufwand für die Wartung spezialisierter Infrastruktur beseitigte. Dadurch konnten sich die Ingenieure stärker auf die Entwicklung des Kernprodukts konzentrieren, statt sich um Backend-Betrieb zu kümmern [1].

Hier sehen Sie auf einen Blick, was Browserless Chrome so leistungsstark macht:

FunktionGeschäftlicher Nutzen
InfrastrukturtrennungVerhindert, dass Chrome-bezogene Probleme den gesamten Service beeinträchtigen [11]
Integriertes Load BalancingErmöglicht mühelose Skalierung ohne zusätzliches Setup
Umgehung der Bot-ErkennungErhöht die Erfolgsraten bei Web-Automatisierungsaufgaben [1]
REST-API-IntegrationVereinfacht Aufgaben wie PDF-Erstellung und Screenshot-Generierung erheblich [1]

Diese Funktionen machen den Wechsel zu Browserless Chrome zu einer praktischen und effizienten Wahl für Automatisierungsanforderungen.

Schritte für den Einstieg

Möchten Sie Browserless Chrome in Ihren Workflow integrieren? So können Sie starten:

  1. Integrationsmethode wählen: Testen Sie die Funktionalität zunächst mit dem Online-Debugger. Entscheiden Sie sich dann je nach Ihren aktuellen Tools für Puppeteer, Playwright oder Selenium [7].
  2. Ihr Setup aktualisieren: Ersetzen Sie den lokalen Puppeteer-Start durch eine Verbindung zu Browserless. Aktualisieren Sie einfach Ihren Code, sodass puppeteer.connect() mit Ihrem Browserless-Endpunkt verwendet wird.
  3. Performance überwachen: Nutzen Sie die integrierten Tools von Browserless wie Zustandsprüfungen und Warteschlangenmetriken, um die Performance im Blick zu behalten [1].

References

FAQ

Frequently Asked Questions

Browserless Chrome ist ein cloudbasierter Headless-Chrome-Service, der die Browserautomatisierung für Web Scraping, PDF-Erstellung, Tests und JavaScript-Rendering ohne lokale Browserinfrastruktur ausführt.

War das hilfreich? Teile es →

Geschrieben von

Vasiliy Datsenko

Leiter des Kundensupports

Vasiliy Datsenko ist Leiter des Kundensupports bei Latenode und ein produktorientierter Autor zum Thema Automatisierung. Seine Arbeit verbindet Kundengespräche, Workflow-Automatisierungsforschung, KI-Anwendungsfälle und praktische Produktschulungen für Teams, die echte Geschäftsprozesse automatisieren möchten.

Autorenprofil →

Faktencheck von

Oleg Zankov

CEO Latenode, No-code-Experte

Mit einer Philosophie, die auf Innovation, Problemlösung und Benutzererfahrung basiert, konzentriere ich mich darauf, Teams zu befähigen, maßgeschneiderte Integrationen zu erstellen und Arbeitsabläufe einfach und effizient zu automatisieren. Mit umfangreicher Erfahrung in den Bereichen Geschäftsentwicklung, Technologieunternehmertum und Softwareentwicklung erkannte ich den Bedarf an einer zugänglicheren, skalierbareren und anpassungsfähigeren Integrationslösung. So entstand Latenode.com. Mit unserer Plattform können Unternehmen die Macht der Technologie nutzen, ohne umfassende Programmierkenntnisse zu benötigen. Leidenschaftlich daran interessiert, eine Zukunft zu fördern, in der Technologie uns dient und nicht umgekehrt, ist es meine Mission, komplexe Prozesse zu vereinfachen. Ich glaube an die Demokratisierung der Technologie und daran, Teams mit den Werkzeugen auszustatten, um in einer zunehmend digitalen Welt zu innovieren, zu wachsen und erfolgreich zu sein.

Autorenprofil →

Weiterlesen