Chrome-Erweiterungen, inklusive Manifest V2
Übergeben Sie eine Liste entpackter Erweiterungsordner, und Clearcote lädt sie beim Start. Manifest V3 funktioniert, Manifest V2 ebenfalls, obwohl Standard-Chrome es inzwischen komplett abgeschaltet hat. MV2-Content-Blocker und ältere interne Tools laufen also weiter. Auch headless.
In jedem Tarif, unter Windows und Linux.
Eine Liste von Ordnern
from clearcote import launch_persistent_context
ctx = launch_persistent_context(
"./profile",
extensions=["./ext/ublock", "./ext/my-helper"], # unpacked directories, MV2 or MV3
headless=True, # works headed too
)
page = ctx.pages[0] if ctx.pages else ctx.new_page()
page.goto("https://example.com")Highlights
Manifest V2 läuft weiterhin
Das Upstream-Privacy-Patchset stellt die MV2-Unterstützung wieder her. Blocker, die es nur für MV2 gibt, und ältere Tools laufen hier also weiter, obwohl sie in Chrome nicht mehr funktionieren.
Headless und headed
Erweiterungen laden im Headless-Modus genauso wie headed – ein virtuelles Display, nur damit überhaupt eine läuft, ist nicht nötig.
Die Flag-Kombination, schon erledigt
--load-extension allein wird unter Automatisierung ignoriert. Das SDK setzt es zusammen mit --disable-extensions-except, damit die Erweiterung tatsächlich erscheint.
Ordner statt .crx-Dateien
Geben Sie den Ordner an, der manifest.json enthält. Eine .crx lässt sich in einen solchen Ordner entpacken.
Windows und Linux
Dieselbe Option auf beiden Plattformen, headed und headless.
Ihr Code, Ihre Spuren
Clearcote verbirgt keine Erweiterungen. Wählen Sie lieber solche ohne web_accessible_resources, denn danach kann eine Seite gezielt suchen.
So werden Erweiterungen geladen
Erweiterungen brauchen ein Profil, in dem sie leben. launch() läuft auf einem Wegwerfprofil und nimmt sie deshalb an, ebenso launch_persistent_context / launchPersistentContext und serve() (.NET: Extensions). Nur die Inkognito-Starts können das nicht (ephemeral_profile=False, launch() der async-API, .NET LaunchAsync). Gehostete Browser laden keine Erweiterungen.
Clearcote kann Erweiterungen nicht aus dem Chrome Web Store installieren oder aktualisieren: Die Upstream-Privacy-Patches entfernen diese Integration, sodass sich so geladene Erweiterungen nie von selbst aktualisieren. Liefern Sie stattdessen das entpackte Verzeichnis mit Ihrer Automatisierung aus – nach demselben Modell, das auch Playwright und Puppeteer verwenden.
Eine Erweiterung ist beobachtbar. Content-Scripts, die das DOM umschreiben, Styles einfügen oder Requests blockieren, verändern, was eine Seite misst, und deklarierte Web-Accessible-Resources kann jede Seite abrufen. Wenn Sie nur Requests blockieren müssen, blockiert CDP Network.setBlockedURLs in der Automatisierungsschicht nach URL-Muster, ganz ohne die Spuren einer Erweiterung, und behält den Cache (route() von Playwright funktioniert auch, schaltet aber den Cache ab).
Wofür es eingesetzt wird
Content-Blocking
Nutzen Sie den MV2-Build eines Blockers, den Chrome nicht mehr lädt.
Die eigene Erweiterung testen
End-to-End-Tests einer Erweiterung, headless, in der CI.
Interne Tools
Firmeneigene Erweiterungen für Anmeldehilfen, Annotation oder QA in automatisierten Sessions.
Clearcote ist für Datenschutz, Tests, Forschung und rechtmäßige Automatisierung gebaut. Sie sind dafür verantwortlich, wie Sie es einsetzen, und dafür, die Nutzungsbedingungen der Websites einzuhalten, die Sie besuchen.
In welchem Tarif enthalten
In jedem Tarif, unter Windows und Linux, headed und headless.
Tarife vergleichenFAQ
Kann Playwright Chrome-Erweiterungen im Headless-Modus laden?
Mit Clearcote ja. Übergeben Sie die entpackten Ordner als extensions an launch() oder einen persistenten Kontext, dann laden sie headless wie headed, ohne zusätzliche Flags.
Funktioniert Manifest V2 noch?
Ja. Im Standard-Chrome ist MV2 inzwischen vollständig abgeschaltet, doch das Upstream-Privacy-Patchset, auf dem Clearcote aufbaut, stellt es wieder her. MV2- und MV3-Erweiterungen laufen also beide.
Kann ich Erweiterungen aus dem Chrome Web Store installieren?
Nein. Die Web-Store-Integration ist zusammen mit den übrigen Google-Diensten entfernt. Laden Sie die Erweiterung herunter oder bauen Sie sie selbst, entpacken Sie sie, falls es eine .crx ist, und übergeben Sie den Ordner.
Warum taucht meine Erweiterung nicht auf?
Meist liegt es am Pfad: Er muss auf den Ordner zeigen, der manifest.json enthält, nicht auf den übergeordneten Ordner und nicht auf eine .crx. Läuft ein Content-Script nie, prüfen Sie, ob sein matches-Muster die URL abdeckt; http://localhost/* passt nicht auf http://127.0.0.1:8080/.
Können Websites erkennen, dass eine Erweiterung installiert ist?
Manchmal. Eine Seite kann DOM-Änderungen bemerken, die ein Content-Script vornimmt, und sie kann versuchen, die deklarierten Web-Accessible-Resources einer Erweiterung abzurufen. Das gilt für jeden Browser mit Erweiterungen, und Clearcote verbirgt es nicht.
Mehr dazu in der Dokumentation
Verwandte Funktionen
Ein Drop-in-Chromium für Playwright und Puppeteer: ein geänderter Import in Python, Node oder .NET, und der Browser wird für Sie heruntergeladen und per SHA-256 verifiziert.
Per Opt-in holt Clearcote das Widevine-CDM von Google so, wie es Standard-Chrome tut, verifiziert es und aktiviert es – dann laufen DRM-Videos.
Betreiben Sie Clearcote als dauerhaften CDP-Endpunkt – aus dem offiziellen Docker-Image, mit serve() oder per CLI – und verbinden Sie jedes Framework ohne Codeänderung.
Canvas, WebGL, WebGPU, Audio, Schriften, Bildschirm und Hardware, in der C++-Engine aus einem Seed abgeleitet, mit passender Locale und Zeitzone – damit jedes Merkmal zu jedem anderen passt.
Weiterlesen
Clearcote ausprobieren
Direkt einsetzbar mit Playwright & Puppeteer, kohärent bis hinunter zum TLS-Handshake, mit einem Open-Source-Build als Ausgangspunkt.
Mit GitHub kostenlos für einen Browser. Ohne Kreditkarte.