OpenClaw enthält ein leistungsstarkes Browser-Automatisierungs-Tool, das deinen Agenten mit Websites interagieren lässt wie ein Mensch. Klicke Buttons, fülle Formulare aus, extrahiere Daten und navigiere durch komplexe Workflows. Alles ohne dein Chat-Interface zu verlassen.
Dieser Guide deckt alles ab, von der grundlegenden Browser-Steuerung bis hin zu fortgeschrittenen Authentifizierungs-Workflows und der Behebung häufiger Probleme auf Linux und WSL2.
Was du tun kannst
Das Browser-Tool eröffnet eine Welt voller Automatisierungsmöglichkeiten:
- Datenextraktion: Scrape Informationen von Websites, die keine APIs anbieten
- Formular-Automatisierung: Fülle und sende Formulare automatisch aus
- Login-Workflows: Automatisiere Authentifizierung für Zugriff auf geschützte Inhalte
- Testing: Verifiziere, dass Web-Anwendungen korrekt funktionieren
- Monitoring: Überwache Website-Status und Content-Änderungen
- Datei-Downloads: Lade Dateien herunter, die Interaktion erfordern
Grundlegende Browser-Steuerung
OpenClaw verwendet Playwright unter der Haube für zuverlässige Browser-Automatisierung. Das Browser-Tool bietet eine vereinfachte Schnittstelle bei voller Leistung.
Eine Seite öffnen
Beginne mit der Navigation zu einer URL. Das Browser-Tool startet einen Headless-Browser und lädt die Seite.
// Zu einer Website navigieren
browser open https://example.com
// Der Agent sieht den Seiteninhalt
// und kann mit Elementen interagierenElemente anklicken
Klicke Buttons, Links oder beliebige klickbare Elemente mit natürlichen Sprachbeschreibungen oder Selektoren.
// Per Text klicken
browser click "Anmelden-Button"
// Per ARIA-Rolle klicken
browser click role=button name="Absenden"
// Per CSS-Selektor klicken
browser click selector="#login-button"Formulare ausfüllen
Gib Text in Eingabefelder ein, bevor du Formulare absendest.
// Eingabefelder ausfüllen
browser type "E-Mail-Adresse" with "user@example.com"
browser type "Passwort" with "dein-passwort"
// Formular absenden
browser click "Anmelden-Button"Daten extrahieren
Ziehe Informationen aus der Seite für weitere Verarbeitung.
// Seiteninhalt abrufen
browser snapshot
// Spezifische Elemente extrahieren
browser extract text from "h1"
browser extract all linksAuthentifizierungs-Workflows
Viele nützliche Automatisierungen erfordern zuerst ein Login. Hier sind bewährte Muster für die Handhabung von Authentifizierung.
Grundlegender Login-Flow
Der einfachste Ansatz: zur Login-Seite navigieren, Credentials eingeben, absenden.
// Zur Login-Seite navigieren
browser open https://app.example.com/login
// Credentials eingeben
browser type "E-Mail" with "user@example.com"
browser type "Passwort" with "sicheres-passwort"
// Login absenden
browser click "Anmelden"
// Auf Weiterleitung warten
browser wait for navigation
// Verifizieren, dass Login erfolgreich war
browser snapshotSitzungs-Persistenz
Um zu vermeiden, dass du dich jedes Mal neu anmelden musst, persistiere die authentifizierte Sitzung.
// Einmal einloggen
browser open https://app.example.com/login
browser type "E-Mail" with "user@example.com"
browser type "Passwort" with "passwort"
browser click "Anmelden"
browser wait for navigation
// Sitzungszustand speichern
browser save session to /workspace/sessions/example-session.json
// Später die Sitzung wiederherstellen
browser open https://app.example.com/
browser load session from /workspace/sessions/example-session.jsonUmgang mit Zwei-Faktor-Authentifizierung
Für Websites mit 2FA hast du mehrere Optionen:
- Manuelle Durchführung: Einmal manuell einloggen, dann die Sitzung für die Wiederverwendung persistieren
- Backup-Codes: Einmalige Backup-Codes verwenden, falls die Website sie bereitstellt
- App-Passwörter: Einige Dienste bieten App-spezifische Passwörter, die 2FA umgehen
- TOTP-Integration: TOTP-Codes generieren, wenn du die 2FA-Einrichtung kontrollierst
Fortgeschrittene Techniken
Auf dynamischen Content warten
Moderne Web-Apps laden Content dynamisch. Verwende Wartezeiten, um sicherzustellen, dass Elemente bereit sind.
// Warten, bis Element erscheint
browser wait for "Lade-Spinner" to disappear
// Auf spezifischen Text warten
browser wait for text "Dashboard"
// Auf Netzwerk-Idle warten
browser wait for networkidleDatei-Uploads
Automatisiere Datei-Uploads durch Angabe des Dateipfads.
// Upload-Button klicken, um Dialog zu öffnen
browser click "Datei hochladen"
// Dateipfad angeben
browser upload "/workspace/files/dokument.pdf"
// Upload bestätigen
browser click "Upload bestätigen"Umgang mit Popups und Dialogen
Browser zeigen oft Bestätigungsdialoge. Handle sie programmatisch.
// Bestätigungsdialog akzeptieren
browser dialog accept
// Dialog ablehnen
browser dialog dismiss
// Prompt-Dialog ausfüllen
browser dialog type "Eingabewert"
browser dialog acceptScreenshots
Erfasse den visuellen Zustand für Debugging oder Dokumentation.
// Vollständiger Seiten-Screenshot
browser screenshot fullpage
// Element-Screenshot
browser screenshot element "Chart-Container"
// Viewport-Screenshot
browser screenshotLinux- und WSL2-Einrichtung
Browser-Automatisierung erfordert zusätzliche Einrichtung auf Linux- und Windows-WSL2-Umgebungen.
Ubuntu/Debian-Abhängigkeiten
Installiere Chrome und seine Abhängigkeiten:
# Paketliste aktualisieren
sudo apt-get update
# Chrome-Abhängigkeiten installieren
sudo apt-get install -y \
libnss3 \
libatk-bridge2.0-0 \
libxss1 \
libgtk-3-0 \
libgbm-devWSL2 Display-Setup
WSL2 benötigt einen Display-Server für Browser-Automatisierung:
# VcXsrv auf Windows installieren (X Server)
# Download von: https://sourceforge.net/projects/vcxsrv/
# In WSL2 Display setzen
export DISPLAY=$(cat /etc/resolv.conf | grep nameserver | awk '{print $2}'):0
# Oder WSLg verwenden (Windows 11)
export DISPLAY=:0Häufige WSL2-Probleme
Problem: Browser startet, zeigt aber leere Seite
Lösung: Stelle sicher, dass DISPLAY korrekt gesetzt ist und die Firewall Verbindungen erlaubt.
# Display-Verbindung testen
xclock
# Falls xclock nicht erscheint, DISPLAY korrigieren
export DISPLAY=$(ip route | grep default | awk '{print $3}'):0Problem: Permission-denied-Fehler
Lösung: Überprüfe Dateiberechtigungen und führe mit dem entsprechenden Benutzer aus.
# Chrome-Sandbox-Berechtigungen korrigieren
sudo chown root:root /path/to/chrome-sandbox
sudo chmod 4755 /path/to/chrome-sandbox
# Oder Sandbox deaktivieren (weniger sicher)
browser open https://example.com --no-sandboxProblem: Chrome stürzt sofort ab
Lösung: Fehlende Abhängigkeiten installieren oder Docker verwenden.
# Browser in Docker ausführen
# Playwrights Docker-Image verwenden
docker run -it --rm \
-v $(pwd):/workspace \
-e DISPLAY \
mcr.microsoft.com/playwright:v1.40.0 \
npx playwright open https://example.comBest Practices
Selektoren weise verwenden
Bevorzuge stabile Selektoren gegenüber dynamischen:
- Gut: ARIA-Rollen, data-testid-Attribute, semantisches HTML
- Vermeiden: Auto-generierte Klassennamen, XPath mit Indizes, fragile CSS-Selektoren
Fehler elegant behandeln
Websites ändern sich. Baue resiliente Automatisierungen:
// Prüfen, ob Element existiert, bevor geklickt wird
if browser has "Cookies akzeptieren" then
browser click "Cookies akzeptieren"
end
// Mehrere Selektoren versuchen
browser click "Absenden" or "Speichern" or "Weiter"Rate Limits respektieren
Überwältige Websites nicht mit Anfragen:
- Füge Verzögerungen zwischen Aktionen ein
- Cache Sitzungsdaten wenn möglich
- Verwende APIs statt Scraping wenn verfügbar
- Folge robots.txt-Richtlinien
Sichere Credential-Handhabung
Hardcode niemals Credentials in Automatisierungen:
// Umgebungsvariablen verwenden
browser type "Passwort" with env.LOGIN_PASSWORD
// Oder Benutzer fragen
ask "Gib dein Passwort ein:" → passwort
browser type "Passwort" with passwortIntegration mit anderen Tools
Kombination mit Sub-Agenten
Lagere Browser-Aufgaben an Sub-Agenten aus für parallele Ausführung:
// Haupt-Agent delegiert Browser-Aufgabe
spawn subagent "Konkurrenzpreise prüfen" with task:
- Öffne konkurrenz-website.com
- Suche nach "Produktname"
- Extrahiere Preis aus Ergebnissen
- Gib Preisdaten zurückBrowser + MCP-Server
Kombiniere Browser-Automatisierung mit MCP für leistungsstarke Workflows:
// MCP verwenden, um Datenbank abzufragen
mcp query "SELECT * FROM products WHERE stock < 10"
// Browser verwenden, um Lieferanten-Website zu prüfen
for each product in low-stock:
browser open lieferant.com/suche
browser type "Suche" with product.name
browser click "Suchen"
extract price and availabilityFAQ
Kann OpenClaw jede Website automatisieren?
OpenClaw kann die meisten Websites automatisieren, aber einige haben Anti-Automatisierungsmaßnahmen. Websites mit CAPTCHA, fortschrittlicher Bot-Erkennung oder striktem Rate-Limiting erfordern möglicherweise zusätzliche Handhabung oder sind für die Automatisierung ungeeignet.
Ist Browser-Automatisierung sicher?
Ja, wenn sie verantwortungsvoll eingesetzt wird. OpenClaw führt Browser in isolierten Kontexten aus. Automatisiere niemals Banking oder sensible Websites ohne Risikoverständnis. Verwende dedizierte Browser-Profile und vermeide es, Credentials im Klartext zu speichern.
Warum schlägt Browser-Automatisierung auf WSL2 fehl?
WSL2 fehlen standardmäßig Display-Fähigkeiten. Installiere VcXsrv oder WSLg, setze die DISPLAY-Umgebungsvariable und stelle sicher, dass Chrome-Abhängigkeiten installiert sind. Der Guide deckt spezifische Lösungen ab.
Kann ich mein bestehendes Browser-Profil verwenden?
Ja, aber mit Vorsicht. Die Verwendung deines Hauptprofils birgt das Risiko von Datenkorruption. Erstelle stattdessen ein dediziertes Automatisierungsprofil. Das Browser-Tool unterstützt die Angabe benutzerdefinierter Profilverzeichnisse.
Wie gehe ich mit Zwei-Faktor-Authentifizierung um?
Für 2FA gibt es mehrere Optionen: Entweder Authentifizierung einmal manuell durchführen und die Sitzung persistieren, Backup-Codes verwenden oder TOTP-Generierung implementieren, wenn du die 2FA-Einrichtung kontrollierst. Einige Websites erlauben App-spezifische Passwörter, die 2FA umgehen.
Zusammenfassung
Browser-Automatisierung erweitert OpenClaw über APIs und Dateien hinaus ins gesamte Web. Beherrsche die Grundlagen von Navigation, Klicken und Formular-Ausfüllung. Handle Authentifizierung mit Sitzungs-Persistenz. Richte alles korrekt auf Linux und WSL2 ein. Folge Best Practices für resiliente, respektvolle Automatisierung.
Kombiniere Browser-Automatisierung mit Sub-Agenten für parallele Verarbeitung, MCP-Servern für Datenintegration und Speicherdateien für persistente Konfiguration, um ausgeklügelte Web-Workflows zu bauen.
Need help from people who already use this stuff?
Hilfe bei der Browser-Automatisierung?
Trete My AI Agent Profit Lab bei für funktionierende Beispiele, Troubleshooting-Hilfe und fortgeschrittene Automatisierungsmuster aus der Community.