Browserloses Chrome: Ein leistungsstarkes Tool zur Browserautomatisierung
Optimieren Sie die Browserautomatisierung mit einem cloudbasierten Headless-Chrome-Dienst, der Web-Scraping, PDF-Generierung und Tests vereinfacht.

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, Dramatikerden 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
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 | Zweck |
|---|---|---|
| Sitzungsbereinigung | 30 Sekunden | Entfernt inaktive Sitzungen automatisch |
| Gesundheitschecks | Nutzer der Smart‑Spaces‑App mit Google Wallet erhalten berührungslosen Mobile‑Zutritt an jedem NFC‑fähigen HID® Signo™‑Leser. | 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
<span class="hljs-keyword">const</span> browser = <span class="hljs-keyword">await</span> puppeteer.<span class="hljs-title function_">connect</span>({
<span class="hljs-attr">browserWSEndpoint</span>: <span class="hljs-string">'wss://chrome.browserless.io?token=YOUR-API-TOKEN'</span>
});
- Dramatiker-Integration
<span class="hljs-keyword">const</span> browser = <span class="hljs-keyword">await</span> playwright.<span class="hljs-property">firefox</span>.<span class="hljs-title function_">connect</span>(
<span class="hljs-string">`wss://production-sfo.browserless.io/firefox/playwright?token=<span class="hljs-subst">${TOKEN}</span>&proxy=residential`</span>
);
- REST-API-Zugriff
curl -X POST https://chrome.browserless.io/content
-H <span class="hljs-string">'Content-Type: application/json'</span>
-H <span class="hljs-string">'Authorization: Basic YOUR-BASE64-TOKEN'</span>
-d <span class="hljs-string">'{ "url": "https://example.com/"}'</span>
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
Der Wechsel zu Browserless in Puppeteer ist ganz einfach - ersetzen Sie einfach puppeteer.launch() und puppeteer.connect() [6]..
| Setup-Typ | Codestruktur | Vorteile |
|---|---|---|
| Traditioneller Puppenspieler | Verwendet puppeteer.launch() | Verbraucht lokale Ressourcen |
| Browserloser Puppenspieler | Verwendet puppeteer.connect() | Optimiert für die Cloud |
| Verbesserter Browserless | Benutzerdefinierte Startargumente | Erweiterte Konfigurationen |
Sie können auch benutzerdefinierte Startargumente über den WebSocket-Endpunkt übergeben:
<span class="hljs-keyword">const</span> launchArgs = <span class="hljs-title class_">JSON</span>.<span class="hljs-title function_">stringify</span>({
<span class="hljs-attr">args</span>: [<span class="hljs-string">'--window-size=1920,1080'</span>],
<span class="hljs-attr">stealth</span>: <span class="hljs-literal">true</span>,
<span class="hljs-attr">timeout</span>: <span class="hljs-number">5000</span>
});
<span class="hljs-keyword">const</span> browser = <span class="hljs-keyword">await</span> puppeteer.<span class="hljs-title function_">connect</span>({
<span class="hljs-attr">browserWSEndpoint</span>: <span class="hljs-string">`wss://production-sfo.browserless.io/?token=YOUR_API_TOKEN_HERE&launch=<span class="hljs-subst">${launchArgs}</span>`</span>
});
Dieses Setup unterstützt erweiterte Konfigurationen und bleibt gleichzeitig einfach.
Dramatiker Integration
Browserlos funktioniert es mit Playwright genauso gut. Hier ist ein Beispiel für die Verbindung mit Firefox:
<span class="hljs-comment">// Firefox implementation with Playwright Protocol</span>
<span class="hljs-keyword">const</span> browser = <span class="hljs-keyword">await</span> playwright.<span class="hljs-property">firefox</span>.<span class="hljs-title function_">connect</span>(
<span class="hljs-string">'wss://production-sfo.browserless.io/firefox/playwright?token=YOUR_API_TOKEN_HERE'</span>
);
Für Entwickler, die Python verwenden, gewährleistet Browserless ein konsistentes Erlebnis:
<span class="hljs-keyword">with</span> sync_playwright() <span class="hljs-keyword">as</span> p:
browser = p.firefox.connect(<span class="hljs-string">'wss://production-sfo.browserless.io/firefox/playwright?token=YOUR_API_TOKEN_HERE'</span>)
context = browser.new_context()
Diese sprachübergreifende Kompatibilität erleichtert die Integration von Browserless in verschiedene Arbeitsabläufe.
Selen Integration
Verwenden Sie für Selenium die folgende Ruby-Konfiguration, um eine Verbindung mit Browserless herzustellen:
caps = <span class="hljs-title class_">Selenium</span><span class="hljs-symbol">:</span><span class="hljs-symbol">:WebDriver</span><span class="hljs-symbol">:</span><span class="hljs-symbol">:Remote</span><span class="hljs-symbol">:</span><span class="hljs-symbol">:Capabilities</span>.chrome(<span class="hljs-string">"goog:chromeOptions"</span> => {
<span class="hljs-string">"args"</span> => [
<span class="hljs-string">"--disable-dev-shm-usage"</span>,
<span class="hljs-string">"--disable-extensions"</span>,
<span class="hljs-string">"--headless"</span>,
<span class="hljs-string">"--no-sandbox"</span>
]
})
Sie können die WebDriver-Verbindung mithilfe eines einfachen URL-Formats herstellen:
driver = <span class="hljs-title class_">Selenium</span><span class="hljs-symbol">:</span><span class="hljs-symbol">:WebDriver</span>.<span class="hljs-keyword">for</span> <span class="hljs-symbol">:remote</span>,
<span class="hljs-symbol">url:</span> <span class="hljs-string">"https://[email protected]/webdriver"</span>,
<span class="hljs-symbol">desired_capabilities:</span> 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:
<span class="hljs-keyword">const</span> browser = <span class="hljs-keyword">await</span> puppeteer.<span class="hljs-title function_">connect</span>({
<span class="hljs-attr">browserWSEndpoint</span>: <span class="hljs-string">'wss://chrome.browserless.io?token=YOUR-TOKEN'</span>
});
<span class="hljs-comment">// Reuse the instance by disconnecting instead of closing</span>
<span class="hljs-keyword">await</span> browser.<span class="hljs-title function_">disconnect</span>();
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 Sie die Verwendung von 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:
- Arbeiten jederzeit weiterbearbeiten können. Jede Präsentation und jeder KI-Avatar, den Sie von Grund auf neu erstellen oder hochladen, Nginx zur Lastverteilung auf mehrere kleinere browserlose Instanzen.
- Aktivieren Sie Integritätsprüfungen vor der Anforderung mit
PRE_REQUEST_HEALTH_CHECK=trueund begrenzen Sie gleichzeitige Sitzungen mitMAX_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 Probleme im Zusammenhang mit Chrome den gesamten Dienst beeinträchtigen [11]. |
| Integrierter Lastenausgleich | Ermöglicht müheloses Skalieren ohne zusätzliche Einrichtung |
| Vermeidung von Bot-Erkennung | Steigert die Erfolgsquote bei Webautomatisierungsaufgaben [1] |
| REST API Integration | Erleichtert Aufgaben wie das Erstellen von PDFs und das Generieren 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:
- 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]..
- 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. - 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



