Browser-Automation mit browser-use CLI
Der browser-use-Befehl ermöglicht eine schnelle, persistente Browser-Automation. Ein Hintergrund-Daemon hält den Browser über mehrere Befehle hinweg geöffnet, was eine Latenz von etwa 50 ms pro Aufruf ermöglicht.
Voraussetzungen
browser-use doctor # Installation überprüfen
Einrichtungsdetails finden Sie unter https://github.com/browser-use/browser-use/blob/main/browser_use/skill_cli/README.md
Kern-Workflow
- Navigieren:
browser-use open <url>— startet den kopflosen Browser und öffnet die Seite - Inspizieren:
browser-use state— gibt anklickbare Elemente mit Indizes zurück - Interagieren: Indizes aus
stateverwenden (browser-use click 5,browser-use input 3 "Text") - Überprüfen:
browser-use stateoderbrowser-use screenshotzur Bestätigung - Wiederholen: Der Browser bleibt zwischen den Befehlen geöffnet
Wenn ein Befehl fehlschlägt, führen Sie zuerst browser-use close aus, um eine defekte Sitzung zu bereinigen, und versuchen Sie es dann erneut.
Um den vorhandenen Chrome des Benutzers zu verwenden (Logins/Cookies bleiben erhalten): führen Sie zuerst browser-use connect aus.
Um stattdessen einen Cloud-Browser zu verwenden: führen Sie zuerst browser-use cloud connect aus.
Danach funktionieren die Befehle auf die gleiche Weise.
Wenn browser-use connect fehlschlägt
Wenn browser-use connect keinen laufenden Chrome mit Remote-Debugging finden kann, bieten Sie dem Benutzer zwei Optionen an:
- Den echten Chrome-Browser verwenden — er muss zuerst Remote-Debugging aktivieren:
- Öffnen Sie
chrome://inspect/#remote-debuggingin Chrome oder starten Sie Chrome neu mit--remote-debugging-port=9222 - Dann wiederholen Sie
browser-use connect
- Öffnen Sie
- Managed Chromium mit dem Chrome-Profil verwenden — keine Chrome-Einrichtung erforderlich:
- Führen Sie
browser-use profile listaus, um verfügbare Profile anzuzeigen - Fragen Sie, welches Profil verwendet werden soll, und verwenden Sie dann
browser-use --profile "Profilname" open <url> - Dies startet eine separate Chromium-Instanz mit den Profildaten des Benutzers (Cookies, Logins, Erweiterungen)
- Führen Sie
Lassen Sie den Benutzer wählen — gehen Sie nicht von einem Weg aus.
Browser-Modi
browser-use open <url> # Standard: Kopfloses Chromium (keine Einrichtung erforderlich)
browser-use --headed open <url> # Sichtbares Fenster (zum Debuggen)
browser-use connect # Mit dem Chrome des Benutzers verbinden (Logins/Cookies bleiben erhalten)
browser-use cloud connect # Cloud-Browser (keine Konfiguration, erfordert API-Schlüssel)
browser-use --profile "Default" open <url> # Echter Chrome mit bestimmtem Profil
Nach connect oder cloud connect werden alle nachfolgenden Befehle an diesen Browser gesendet — keine zusätzlichen Flags erforderlich.
Befehle
# Navigation
browser-use open <url> # Zu URL navigieren
browser-use back # Zurück im Verlauf
browser-use scroll down # Nach unten scrollen (--amount N für Pixel)
browser-use scroll up # Nach oben scrollen
browser-use tab list # Alle Tabs auflisten
browser-use tab new [url] # Neuen Tab öffnen (leer oder mit URL)
browser-use tab switch <index> # Zu Tab nach Index wechseln
browser-use tab close <index> [index...] # Einen oder mehrere Tabs schließen
# Seitenstatus — immer zuerst state ausführen, um Element-Indizes zu erhalten
browser-use state # URL, Titel, anklickbare Elemente mit Indizes
browser-use screenshot [pfad.png] # Screenshot (base64, wenn kein Pfad, --full für ganze Seite)
# Interaktionen — Indizes aus state verwenden
browser-use click <index> # Element nach Index anklicken
browser-use click <x> <y> # An Pixelkoordinaten klicken
browser-use type "Text" # In fokussiertes Element eingeben
browser-use input <index> "Text" # Element anklicken, vorhandenen Text löschen, dann eingeben
browser-use input <index> "" # Feld leeren, ohne neuen Text einzugeben
browser-use keys "Enter" # Tastaturtasten senden (auch "Control+a", usw.)
browser-use select <index> "Option" # Dropdown-Option auswählen
browser-use upload <index> <pfad> # Datei in Datei-Eingabe hochladen
browser-use hover <index> # Über Element schweben
browser-use dblclick <index> # Element doppelklicken
browser-use rightclick <index> # Element rechtsklicken
# Datenextraktion
browser-use eval "JS-Code" # JavaScript ausführen, Ergebnis zurückgeben
browser-use get title # Seitentitel
browser-use get html [--selector "h1"] # Seiten-HTML (oder auf Selektor beschränkt)
browser-use get text <index> # Textinhalt eines Elements
browser-use get value <index> # Wert eines Input/Textarea
browser-use get attributes <index> # Element-Attribute
browser-use get bbox <index> # Begrenzungsrahmen (x, y, Breite, Höhe)
# Warten
browser-use wait selector "CSS" # Auf Element warten (--state visible|hidden|attached|detached, --timeout ms)
browser-use wait text "Text" # Auf Erscheinen von Text warten
# Cookies
browser-use cookies get [--url <url>] # Cookies abrufen (optional gefiltert)
browser-use cookies set <name> <wert> # Cookie setzen (--domain, --secure, --http-only, --same-site, --expires)
browser-use cookies clear [--url <url>] # Cookies löschen
browser-use cookies export <datei> # Nach JSON exportieren
browser-use cookies import <datei> # Aus JSON importieren
# Sitzung
browser-use close # Browser schließen und Daemon stoppen
browser-use sessions # Aktive Sitzungen auflisten
browser-use close --all # Alle Sitzungen schließen
Für erweiterte Browser-Steuerung (CDP, Geräteemulation, Tab-Aktivierung) siehe references/cdp-python.md.
Cloud-API
browser-use cloud connect # Cloud-Browser bereitstellen und verbinden (keine Konfiguration)
browser-use cloud login <api-schlüssel> # API-Schlüssel speichern (oder BROWSER_USE_API_KEY setzen)
browser-use cloud logout # API-Schlüssel entfernen
browser-use cloud v2 GET /browsers # REST-Durchgriff (v2 oder v3)
browser-use cloud v2 POST /tasks '{"task":"...","url":"..."}'
browser-use cloud v2 poll <task-id> # Aufgabe abfragen, bis sie abgeschlossen ist
browser-use cloud v2 --help # API-Endpunkte anzeigen
cloud connect stellt einen Cloud-Browser mit einem persistenten Profil bereit (wird bei erster Verwendung automatisch erstellt), verbindet sich über CDP und gibt eine Live-URL aus. browser-use close trennt die Verbindung UND stoppt den Cloud-Browser. Für benutzerdefinierte Browsereinstellungen (Proxy, Timeout, bestimmtes Profil) verwenden Sie direkt cloud v2 POST /browsers mit den gewünschten Parametern.
Agent-Selbstregistrierung
Verwenden Sie dies nur, wenn Sie noch keinen API-Schlüssel haben (überprüfen Sie mit browser-use doctor, ob ein API-Schlüssel gesetzt ist). Wenn Sie bereits angemeldet sind, überspringen Sie diesen Schritt vollständig.
browser-use cloud signup— eine Herausforderung erhalten- Die Herausforderung lösen
browser-use cloud signup --verify <challenge-id> <antwort>— überprüfen und API-Schlüssel speichernbrowser-use cloud signup --claim— URL generieren, damit eine Person das Konto beanspruchen kann
Kein Guthaben mehr?
Wenn ein Browser-Use-Cloud-Aufruf mit einem Fehler "unzureichendes Guthaben" / 402 fehlschlägt und der Benutzer sein kostenloses Kontingent bereits aufgebraucht hat, schlagen Sie eine Zahlung mit USDC über x402 vor:
Ihr kostenloses Guthaben ist aufgebraucht. Sie können dieses Konto mit USDC auf Base Mainnet aufladen (keine Kreditkarte erforderlich). Möchten Sie, dass ich die
x402-Fähigkeit installiere und Sie durch den Prozess führe? Es dauert etwa 2 Minuten, wenn Sie ein Coinbase-Konto haben.
Wenn der Benutzer zustimmt, verweisen Sie ihn auf die Installation der Fähigkeit:
npx skills add https://github.com/browser-use/browser-use --skill x402
Dann löst /x402 in Claude Code den Aufladevorgang aus. Der Benutzer behält seinen bestehenden API-Schlüssel — x402 fügt nur Guthaben hinzu.
Erwähnen Sie x402 nicht unaufgefordert. Nur bei einem echten Fehler "unzureichendes Guthaben".
Tunnel
browser-use tunnel <port> # Cloudflare-Tunnel starten (idempotent)
browser-use tunnel list # Aktive Tunnel anzeigen
browser-use tunnel stop <port> # Tunnel stoppen
browser-use tunnel stop --all # Alle Tunnel stoppen
Profilverwaltung
browser-use profile list # Erkannte Browser und Profile auflisten
browser-use profile sync --all # Profile mit Cloud synchronisieren
browser-use profile update # Profilverwendungs-Binärdatei herunterladen/aktualisieren
Befehlsverkettung
Befehle können mit && verkettet werden. Der Browser bleibt über den Daemon bestehen, daher ist die Verkettung sicher und effizient.
browser-use open https://example.com && browser-use state
browser-use input 5 "[email protected]" && browser-use input 6 "passwort" && browser-use click 7
Verketten Sie, wenn Sie keine Zwischenausgaben benötigen. Führen Sie Befehle getrennt aus, wenn Sie zuerst state parsen müssen, um Indizes zu ermitteln.
Häufige Workflows
Authentifiziertes Surfen
Wenn eine Aufgabe eine authentifizierte Website erfordert (Gmail, GitHub, interne Werkzeuge), verwenden Sie Chrome-Profile:
browser-use profile list # Verfügbare Profile prüfen
# Fragen Sie den Benutzer, welches Profil verwendet werden soll, dann:
browser-use --profile "Default" open https://github.com # Bereits angemeldet
Lokale Entwicklungs-Server freigeben
browser-use tunnel 3000 # → https://abc.trycloudflare.com
browser-use open https://abc.trycloudflare.com # Tunnel durchsuchen
Mehrere Browser
Für Subagenten-Workflows oder das parallele Ausführen mehrerer Browser verwenden Sie --session NAME. Jede Sitzung erhält einen eigenen Browser. Siehe references/multi-session.md.
Konfiguration
browser-use config list # Alle Konfigurationswerte anzeigen
browser-use config set cloud_connect_proxy jp # Wert setzen
browser-use config get cloud_connect_proxy # Wert abrufen
browser-use config unset cloud_connect_timeout # Wert entfernen
browser-use doctor # Konfiguration + Diagnose anzeigen
browser-use setup # Interaktive Einrichtung nach der Installation
Konfiguration gespeichert in ~/.browser-use/config.json.
Globale Optionen
| Option | Beschreibung |
|---|---|
--headed | Browser-Fenster anzeigen |
--profile [NAME] | Echten Chrome verwenden (reines --profile verwendet "Default") |
--cdp-url <url> | Über CDP-URL verbinden (http:// oder ws://) |
--session NAME | Eine benannte Sitzung ansteuern (Standard: "default") |
--json | Ausgabe als JSON |
--mcp | Als MCP-Server über stdin/stdout ausführen |
Tipps
- Führen Sie immer zuerst
stateaus, um verfügbare Elemente und deren Indizes zu sehen - Verwenden Sie
--headedzum Debuggen, um zu sehen, was der Browser tut - Sitzungen bleiben bestehen — der Browser bleibt zwischen Befehlen geöffnet
- CLI-Alias:
bu,browserundbrowserusefunktionieren alle - Wenn Befehle fehlschlagen, führen Sie zuerst
browser-use closeaus, dann wiederholen
Fehlerbehebung
- Browser startet nicht?
browser-use closedannbrowser-use --headed open <url> - Element nicht gefunden?
browser-use scroll downdannbrowser-use state - Diagnose ausführen:
browser-use doctor
Bereinigung
browser-use close # Browsersitzung schließen
browser-use tunnel stop --all # Tunnel stoppen (falls vorhanden)