Eine Low-Code-Plattform, die die Einfachheit von No-Code mit der Leistung von Full-Code verbindet 🚀
Jetzt kostenlos starten

Browserloses Chrome: Ein leistungsstarkes Tool zur Browserautomatisierung

Inhaltsverzeichnis
Browserloses Chrome: Ein leistungsstarkes Tool zur Browserautomatisierung

Browserloses Chrome ist ein Cloud-basierter Dienst, der die Browserautomatisierung vereinfacht, indem er Chrome ohne Headless-Funktion fĂŒr Aufgaben wie Web Scraping, PDF-Generierung und Tests ausfĂŒhrt. Es macht lokale Browser-Setups ĂŒberflĂŒssig und verwaltet BrowserabstĂŒrze, Sitzungsisolierung und Ressourcenoptimierung automatisch. Zu den wichtigsten Vorteilen gehören:

  • Keine lokale Einrichtung: Verwenden Sie Docker oder Cloud-Bereitstellung, um schnell loszulegen.
  • Schnelle Leistungs: Screenshots in ~1 Sekunde, PDFs in ~2 Sekunden.
  • Umgehung der Bot-Erkennung: Überwindet Blocker wie Cloudflare fĂŒr eine zuverlĂ€ssige Automatisierung.
  • Ressourceneffizienz: Reduziert die Proxy- und virtuelle Maschinennutzung um bis zu 90 %.

Quick Setup: Integration mit beliebten Bibliotheken wie Puppenspieler, Dramatikeroder Selen mithilfe einfacher Verbindungsmethoden. Browserless bietet auch APIs fĂŒr Web Scraping, JavaScript-Rendering und benutzerdefinierte Automatisierungs-Workflows.

Schneller Vergleich der Funktionen

Merkmal Vorteile Beispiel
Sitzungsbereinigung Entfernt inaktive Sitzungen automatisch Sorgt fĂŒr optimale Ressourcen
PrĂ€vention der Bot-Erkennung Umgeht Blocker wie Cloudflare ZuverlĂ€ssig fĂŒr Schabearbeiten
Multitasking-Verarbeitung Behandelt gleichzeitige Anfragen effektiv Mehr als 2 Mio. Sitzungen werden wöchentlich verarbeitet
Einsatzbereite APIs Vereinfacht Automatisierungsaufgaben JSON-Datenextraktion, PDFs

Chrome ohne Browser ist ideal fĂŒr Entwickler und Unternehmen, die die Automatisierung optimieren möchten, ohne eine komplexe Infrastruktur verwalten zu mĂŒssen.

Einrichtungsanleitung (EN)

So installieren Sie

Um mit Browserless Chrome zu beginnen, können Sie zwischen zwei Installationsoptionen wĂ€hlen: einer lokalen Einrichtung mit Docker oder einer Cloud-Bereitstellung. FĂŒr eine lokale Docker-Einrichtung verwenden Sie den folgenden Befehl:

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

Dieser Befehl ruft das neueste Image ab und macht es ĂŒber Port 3000 zugĂ€nglich [3]Es funktioniert nahtlos unter Windows, macOS und Linux.

Erstkonfiguration

Chrome ohne Browser enthÀlt mehrere integrierte Funktionen, die den Einrichtungsprozess vereinfachen:

Merkmal Voreinstellung Sinn
Sitzungsbereinigung 30 Sekunden Entfernt inaktive Sitzungen automatisch
Gesundheitschecks Aktiviert GewÀhrleistet die SystemstabilitÀt
Anfragewarteschlange konfigurierbare Verwaltet mehrere gleichzeitige Verbindungen
Ressourcengrenzen Einstellbar Steuert die Speicher- und CPU-Auslastung

Sie können die Umgebung anpassen, indem Sie diese Variablen festlegen:

MAX_CONCURRENT_SESSIONS=10
CONNECTION_TIMEOUT=30000
MAX_QUEUE_LENGTH=100

Nach der Konfiguration können Sie mit Ihrer bevorzugten Integrationsmethode eine Verbindung zu Browserless herstellen.

Herstellen Ihrer ersten Verbindung

AbhĂ€ngig von der von Ihnen verwendeten Bibliothek können Sie Ihre erste Verbindung folgendermaßen herstellen:

  • Puppenspieler-Verbindung
const browser = await puppeteer.connect({
  browserWSEndpoint: 'wss://chrome.browserless.io?token=YOUR-API-TOKEN'
});
  • Dramatiker-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 handhaben die Sitzungsisolierung, verwalten gleichzeitige Anfragen und erholen sich automatisch von AbstĂŒrzen. Sie bereinigen auch inaktive Sitzungen nach 30 Sekunden, indem sie fĂŒr jede neue Sitzung eine neue Browserinstanz starten. [4].

Haupteigenschaften

Grundlagen des Headless-Browsers

Browserless Chrome arbeitet ohne grafische OberflĂ€che und lĂ€uft im Headless-Modus. Es startet automatisch neue Browserinstanzen fĂŒr eingehende Anfragen und sorgt so fĂŒr eine effiziente Ressourcennutzung.

Hier ist ein kurzer Überblick ĂŒber die wichtigsten Funktionen:

Merkmal Beschreibung Vorteile
Sitzungsisolierung UnabhÀngige Browsersitzungen Senkt die Infrastrukturkosten
Automatische Wiederherstellung Neustart nach AbstĂŒrzen HĂ€lt den Betrieb aufrecht
Ressourcenoptimierung Effiziente Nutzung von Speicher und CPU Steigert die Gesamtleistung

Über diese wesentlichen Funktionen hinaus ist Browserless darauf ausgelegt, mehrere Aufgaben problemlos gleichzeitig zu bewĂ€ltigen.

Multitasking-Verarbeitung

Mit ĂŒber 2 Millionen abgewickelten Sitzungen hat Browserless Chrome Millionen von Screenshots, PDFs und Testergebnissen generiert [5]. Sein intelligentes Warteschlangenmanagementsystem stellt sicher, dass Anfragen ohne Überlastung der Ressourcen verarbeitet werden und die Leistung konstant bleibt. Dies hat sich als besonders nĂŒtzlich fĂŒr Unternehmen wie Samsara, das von einem internen Testdienst auf Browserless umgestiegen ist, um eine bessere Skalierbarkeit zu erreichen.

„Browserless bietet eine Reihe von Funktionen, die die Automatisierung von Webbrowser-Aufgaben vereinfachen und beschleunigen. Mit seiner robusten API und der FĂ€higkeit, parallele VorgĂ€nge zu verarbeiten, ist Browserless ein Vorreiter im Automatisierungsbereich.“ – Elest.io

Browserless ist nicht nur hervorragend fĂŒr Multitasking geeignet, es vereinfacht auch Automatisierungs-Workflows mit gebrauchsfertigen APIs.

Sofort einsatzbereite API-Funktionen

Browserless bietet auf allgemeine Automatisierungsanforderungen zugeschnittene APIs, die die KernfunktionalitÀt erweitern:

  • Web-Scraping-API: Extrahiert strukturierte JSON-Daten aus Webseitenelementen.
  • API entsperren: Ruft HTML-Inhalte nach dem AusfĂŒhren von JavaScript ab.
  • Funktions-API: FĂŒhrt benutzerdefinierten Puppeteer-Code mit ESM-Modulimporten aus.

Diese APIs haben in der Praxis Ergebnisse geliefert:

„Wir begannen, die Headless-Browser eines anderen Scraping-Unternehmens zu verwenden, um Puppeteer-Skripte auszufĂŒhren. Aufgrund langsamer Abrufzeiten war jedoch ein Vercel-Upgrade erforderlich und die Proxys liefen nicht richtig. Ich fand Browserless und hatte unseren Puppeteer-Code innerhalb einer Stunde zum Laufen gebracht. Die Scrapes sind jetzt 5x schneller und kosten nur noch ein Drittel des Preises, und der Support war ausgezeichnet.“ – Nicklas Smit, Full-Stack-Entwickler, Takeoff Copenhagen [2]

„Wir haben ein Scraping-Tool entwickelt, um unsere Chatbots anhand öffentlicher Website-Daten zu trainieren, aber aufgrund von RandfĂ€llen und Bot-Erkennung wurde es schnell kompliziert. Ich habe Browserless gefunden und einen Tag fĂŒr die Integration eingeplant, aber es hat nur ein paar Stunden gedauert. Ich musste kein Experte fĂŒr die Verwaltung von Proxy-Servern oder virtuellen Computern werden, also kann ich mich jetzt auf die Kernbereiche des GeschĂ€fts konzentrieren.“ – Mike Heap, GrĂŒnder von My AskAI [2]

Was ist browserlos?

sbb-itb-23997f1

Leitfaden zur Bibliotheksintegration

Browserless Chrome arbeitet nahtlos mit den wichtigsten Automatisierungsbibliotheken zusammen und bietet Leistung und ZuverlÀssigkeit. So können Sie es in einige der beliebtesten Tools integrieren.

Puppenspieler Integration

Puppenspieler

Der Wechsel zu Browserless in Puppeteer ist ganz einfach - ersetzen Sie einfach puppeteer.launch() mit puppeteer.connect() [6].

Setup-Typ Codestruktur Vorteile
Traditioneller Puppenspieler Verwendung puppeteer.launch() Verbraucht lokale Ressourcen
Browserloser Puppenspieler Verwendung puppeteer.connect() Optimiert fĂŒr die Cloud
Verbesserter Browserless Benutzerdefinierte Startargumente Erweiterte Konfigurationen

Sie können auch benutzerdefinierte 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 gleichzeitig einfach.

Dramatiker Integration

Dramatiker

Browserlos funktioniert es mit Playwright genauso gut. Hier ist ein Beispiel fĂŒr die 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 ein konsistentes Erlebnis:

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 ArbeitsablĂ€ufe.

Selen Integration

Selen

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 mithilfe eines einfachen URL-Formats 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 und andere ressourcensparende Funktionen. Schließen Sie Browserinstanzen nach der Verwendung immer, um Speicherlecks zu vermeiden und die Ressourcennutzung zu optimieren.

Leistungstipps

Bei der Arbeit mit Browserless Chrome ist die Leistungsverwaltung der SchlĂŒssel zur Aufrechterhaltung der Effizienz. Da die Plattform wöchentlich fast 5 Millionen Headless-Sitzungen abwickelt, [8]FĂŒr einen reibungslosen Betrieb dieser GrĂ¶ĂŸenordnung ist ein sorgfĂ€ltiges Ressourcen- und Sicherheitsmanagement unerlĂ€sslich.

Ressourcenmanagement

Die effiziente Verwaltung von Ressourcen beginnt mit der Handhabung von Browserinstanzen. Anstatt fĂŒr jede Aufgabe eine neue Instanz zu erstellen, können Sie vorhandene Instanzen wiederverwenden, um den Aufwand fĂŒr das Starten neuer Sitzungen zu verringern:

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 effektive Taktik ist das Blockieren unnötiger Ressourcen, um den Ressourcenverbrauch zu reduzieren. Hier ist eine AufschlĂŒsselung:

Ressourcentyp Auswirkungen auf die Leistung Empfohlene Maßnahme
Bilder Verbraucht viel Bandbreite Blockieren mit page.setRequestInterception()
CSS-Dateien Verwendet zusĂ€tzlichen Speicher Deaktivieren, sofern es nicht kritisch fĂŒr das Layout ist
Schriftarten Verlangsamt das Laden Externe Schriftartanforderungen blockieren

So meldete Browserless.io im September 2024 eine Leistungsverbesserung, bei der die Blockierung dieser Ressourcen die AusfĂŒhrungszeit von 2,114 ms auf 1,676 ms reduzierte [10].

Umgang mit hohem Datenverkehr

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

„Chrome ist wirklich wirklich kann die gesamten Systemressourcen gut nutzen und verwendet fĂŒr die meisten Dinge gerne gleiche Teile von CPU und Speicher" [8]

Um große Anforderungen zu bewĂ€ltigen, sollten Sie die folgenden Strategien in Betracht ziehen:

  • Wasser Nginx zur Lastverteilung auf mehrere kleinere browserlose Instanzen.
  • Aktivieren Sie IntegritĂ€tsprĂŒfungen vor der Anforderung mit PRE_REQUEST_HEALTH_CHECK=true und begrenzen Sie gleichzeitige Sitzungen mit MAX_CONCURRENT_SESSIONS=10.
  • Stellen Sie eine ordnungsgemĂ€ĂŸe Prozessbeendigung sicher, um das Verbleiben von „Zombie“-Prozessen zu vermeiden.

„UnabhĂ€ngig davon, wo und wie Sie Ihre Headless-Sitzungen durchfĂŒhren, ist es wichtig, töten Chrom mit dem Feuer tausender Sonnen" [8]

Sicherheitseinstellung

Eine sichere Einrichtung schĂŒtzt nicht nur Ihre Daten, sondern gewĂ€hrleistet auch eine gleichbleibende Leistung bei hoher Belastung. So sichern Sie Ihre Bereitstellung:

  • Speichern Sie API-SchlĂŒssel als gehashte Werte in sicheren Umgebungen.
  • Verwenden Sie IP-EinschrĂ€nkungen, um den Zugriff zu kontrollieren.
  • Aktivieren Sie die rollenbasierte Zugriffsverwaltung.
  • Wenden Sie eine Ratenbegrenzung auf API-Endpunkte an.

Legen Sie fĂŒr Docker-Bereitstellungen Ressourcenlimits fest, um eine Überlastung zu vermeiden:

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

FĂŒr den Umgang mit nicht vertrauenswĂŒrdigem Code verwenden Sie die vm2 Modul, um isolierte Umgebungen zu erstellen. Dieser Ansatz verhindert CPU-intensive Angriffe. Seit dem 5. MĂ€rz 2018 verwendet Browserless.io dumb-init innerhalb von Docker-Containern, um die Prozessbeendigung effektiv zu verwalten [9].

Zusammenfassung

Browserloses Chrome vereinfacht die Automatisierung, indem es die schweren Infrastrukturaufgaben ĂŒbernimmt, die frĂŒher einen erheblichen Teil der Zeit der Entwickler in Anspruch nahmen – etwa 60 %. Durch die Isolierung von Chrome von den Kerndiensten wird eine bessere Lastverteilung, Skalierbarkeit und Fehlerverwaltung gewĂ€hrleistet. Ein bemerkenswertes Beispiel ist Samsara, das seine Puppeteer-basierten Tests ĂŒberarbeitet hat, indem es den Aufwand fĂŒr die Wartung einer speziellen Infrastruktur beseitigt hat. Dadurch konnten sich die Ingenieure mehr auf die Entwicklung ihres Kernprodukts konzentrieren, anstatt sich um Backend-Operationen zu kĂŒmmern [1].

Hier ist eine Momentaufnahme dessen, was Chrome ohne Browser zu einem bahnbrechenden Neuerer macht:

Merkmal Auswirkungen auf das GeschÀft
Infrastrukturtrennung Verhindert, dass Chrome-bezogene Probleme den gesamten Dienst stören [11]
Integrierter Lastenausgleich Ermöglicht mĂŒheloses Skalieren ohne zusĂ€tzliche Einrichtung
Vermeidung von Bot-Erkennung Steigert die Erfolgsquote bei Web-Automatisierungsaufgaben [1]
REST API Integration Erleichtert Aufgaben wie die PDF-Erstellung und die Generierung von Screenshots erheblich [1]

Diese Funktionen machen die Umstellung auf Chrome ohne Browser zu einer praktischen und effizienten Wahl fĂŒr Automatisierungsanforderungen.

Erste Schritte

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

  1. WÀhlen Sie eine Integrationsmethode: Bevor Sie loslegen, testen Sie die FunktionalitÀt mit dem Online-Debugger. Entscheiden Sie sich dann basierend auf Ihren aktuellen Tools zwischen Puppeteer, Playwright oder Selenium. [7].
  2. Aktualisieren Sie Ihr Setup: Ersetzen Sie Ihren lokalen Puppeteer-Start durch eine Verbindung zu Browserless. Aktualisieren Sie einfach Ihren Code, um puppeteer.connect() mit Ihrem browserlosen Endpunkt.
  3. Verfolgen Sie die Leistung: Verwenden Sie die integrierten Tools von Browserless wie IntegritĂ€tsprĂŒfungen und Warteschlangenmetriken, um die Leistung im Auge zu behalten [1].

Ähnliche Artikel

Apps austauschen

Anwendung 1

Anwendung 2

Schritt 1: WÀhlen ein Auslöser

Schritt 2: WĂ€hle eine Aktion

Wenn das passiert ...

Name des Knotens

Aktion, zum Beispiel löschen

Name des Knotens

Aktion, zum Beispiel löschen

Name des Knotens

Aktion, zum Beispiel löschen

Name des Knotens

Beschreibung des Auslösers

Name des Knotens

Aktion, zum Beispiel löschen

Vielen Dank! Ihre Einreichung wurde erhalten!
Hoppla! Beim Absenden des Formulars ist ein Fehler aufgetreten.

Mach das.

Name des Knotens

Aktion, zum Beispiel löschen

Name des Knotens

Aktion, zum Beispiel löschen

Name des Knotens

Aktion, zum Beispiel löschen

Name des Knotens

Beschreibung des Auslösers

Name des Knotens

Aktion, zum Beispiel löschen

Vielen Dank! Ihre Einreichung wurde erhalten!
Hoppla! Beim Absenden des Formulars ist ein Fehler aufgetreten.
Probieren Sie es jetzt

Keine Kreditkarte notwendig

Ohne EinschrÀnkung

Georgi Miloradowitsch
Forscher, Texter und Usecase-Interviewer
28. Februar 2025
‱
8
min lesen

Verwandte Blogs

Anwendungsfall

Erstellen Sie leistungsstarke KI-Workflows und automatisieren Sie Routine

Vereinheitlichen Sie fĂŒhrende KI-Tools ohne Codierung oder Verwaltung von API-SchlĂŒsseln, setzen Sie intelligente KI-Agenten und Chatbots ein, automatisieren Sie ArbeitsablĂ€ufe und senken Sie die Entwicklungskosten.

UnterstĂŒtzt von