Seit der letzten Version von Chrome (34.0.1847.116) in der vergangenen Woche habe ich die Option "Entwicklermoduserweiterungen deaktivieren" erhalten, wenn automatisierte Tests mit Watir-Webdriver ausgeführt werden.
Dies scheint die anstößige Erweiterung zu sein, aber es macht für mich keinen Sinn, dass dies eine potenziell gefährliche Erweiterung ist, da sie vom Chromedriver verwendet wird.
Jeder, der eine Lösung dafür gefunden hat, da ich nicht in der Lage bin, auf die vorherige Version zurückzusetzen oder ein Installationsprogramm für eine ältere Version zu finden, auf das zurückgesetzt werden kann, und dies ist ein Chaos bei meinen Tests.
Robot robot; try { robot = new Robot(); robot.keyPress(KeyEvent.VK_ENTER); // confirm by pressing Enter in the end robot.keyRelease(KeyEvent.VK_ENTER); } catch (AWTException e) { printStackTraceToString(e); }
Antworten:
Der offizielle Weg , um das Popup zu deaktivieren, ist folgender:
Packen Sie Ihre Erweiterung: Gehen Sie zu
chrome://extensions
, überprüfen Sie Developer modeund klicken SiePack extensionInstallieren Sie die Erweiterung, indem Sie die
.crx
Datei per Drag & Drop auf diechrome://extensions
Seite ziehen.Wenn Sie versuchen, Chrome zu diesem Zeitpunkt neu zu starten, wird das Popup "Nicht unterstützte Erweiterungen deaktiviert" angezeigt.
Dann für Windows 7 oder Windows 8:
[zip]\windows\admx\chrome.admx
nachc:\windows\policydefinitions
[zip]\windows\admx\[yourlanguage]\chrome.adml
nachc:\windows\policydefinitions\[yourlanguage]\chrome.adml
(nichtc:\windows\[yourlanguage]
)chrome://extensions
gpedit.msc
und drücken Sie enter.Das ist es!
BEARBEITEN: Ab Juli 2018 funktioniert dieser Ansatz nicht mehr: Es scheint, dass Google die "Whitelist" nicht mehr anerkennt.
EDIT 2: Ab Dezember 2018 funktioniert dieser Ansatz in
Chrome Version 69.0.3497.100 (Official Build) (64-bit)
:Vorübergehend ermöglichen Developer modein
chrome://extensions
Deinstallieren Sie die Erweiterung, die das Popup verursacht, mithilfe von Load unpacked.
Klicken Sie auf Pack extensionund suchen Sie den Ordner mit den Erweiterungsdateien. Geben Sie die private Schlüsseldatei nicht ein, wenn Sie sie nicht haben.
Klicken Sie auf Pack extension. A
.crx
und.pem
Datei werden in der Nähe des Stammverzeichnisses der Erweiterung erstellt. Installieren Sie die Erweiterung mithilfe der.crx
Datei und bewahren Sie die.pem
Datei sicher auf.Kopieren Sie die
.crx
installierte Erweiterungs-ID in die Whitelist und starten Sie Chrome neu.Das Popup sollte weg sein.
quelle
Verwenden Sie beim Erstellen des Chrome-Treibers die Option, um ihn zu deaktivieren. Es funktioniert ohne Erweiterungen.
Verwenden Sie das folgende Code-Snippet
quelle
options.AddArgument("--disable-extensions");
options.AddArguments("chrome.switches", "--disable-extensions --disable-extensions-file-access-check --disable-extensions-http-throttling");
statt nur --disable-extensions verwenden. Ich denke, einer der zusätzlichen Schalter kann weggelassen werden, aber nicht beide.Ab Mai 2015 zeigt Chrome Beta / Dev / Canary unter Windows (siehe Zeilen 75-78) immer diese Warnung an.
Ich habe gerade chrome.dll (Dev-Kanal, 32-Bit) mit der hiew32-Demoversion gepatcht: Führen Sie es aus, wechseln Sie zur Hex-Ansicht (Eingabetaste), suchen Sie nach ExtensionDeveloperModeWarning (F7) und drücken Sie F6, um den entsprechenden Code zu finden In der Nähe der INC EAX- Zeile, auf die RETN folgt, drücken Sie zum Bearbeiten F3. Geben Sie 90 anstelle von 40 ein, die als NOP (no-op) gerendert wird, speichern Sie (F9).
Vereinfachte Methode von @Gsx, die auch für 64-Bit-Chrome-Entwickler funktioniert:
Enter
Schlüssel)F7
)F3
, um den ersten Buchstaben "E" zu bearbeiten und durch ein anderes Zeichen zu ersetzenF9
).patch.BAT
SkriptDies dauert natürlich nur bis zum nächsten Update, sodass jeder, der es häufig benötigt, möglicherweise einen Auto-Patcher oder einen Launcher schreibt, der die DLL im Speicher patcht.
quelle
Hiew Demo doesn't support NE/LX/LE/NLM/ELF/PE64 files
, aber ich kann diese Warnung überspringen. Dann ändere ich den Modus mit F4, um ExtensionDeveloperMo zu dekodieren und zu durchsuchen, da _ExtensionDeveloperModeWarning _ nicht passt. Nachdem es es gefunden hat, drücke ich F6, aber ich bekommeTarget not found
. Kannst du mir helfen?Kann nicht deaktiviert werden. Zitat: "Entschuldigung, wir wissen, dass es ärgerlich ist, aber Sie, die Malware-Autoren ..."
Sie haben nur folgende Möglichkeiten: Passen Sie Ihre automatisierten Tests an dieses neue Verhalten an oder laden Sie das fehlerhafte Skript in den Chrome Web Store hoch (dies kann "nicht gelistet" erfolgen).
quelle
(Als Antwort auf Antony Hatchkins)
Dies ist die aktuelle, buchstäblich offizielle Methode zum Festlegen von Chrome-Richtlinien: https://support.google.com/chrome/a/answer/187202?hl=de
Anleitung für Windows (mit meinen Ergänzungen):
Wenn Sie damit fertig sind, fahren Sie mit Schritt 5 der Antwort von Antony Hatchkins fort . Nachdem Sie die Erweiterungs-IDs hinzugefügt haben, können Sie durch Öffnen überprüfen, ob die Richtlinie in Chrome funktioniert
chrome://policy
(suchen Sie nach ExtensionInstallWhitelist ).quelle
Die Einstellung für Erweiterungen deaktivieren hat bei mir nicht funktioniert. Stattdessen habe ich die Robot- Klasse verwendet, um auf die Schaltfläche Abbrechen zu klicken.
quelle
Es gibt eine alternative Lösung: Verwenden Sie den Chrome-Developer-Mode-Extension-Warning-Patcher :
quelle
Ich hatte das gleiche Problem und habe Folgendes versucht:
Ein paar Dinge zu beachten:
Als ich Chrome erneut öffnete, wurde ein Popup-Fenster angezeigt, in dem ich über die neue gepackte Erweiterung informiert wurde. Daher habe ich Chrome neu gestartet, um zu prüfen, ob es erneut ausgeführt werden würde, und dies war nicht der Fall.
Ich hoffe diese Lösung hat funktioniert!
quelle
Basierend auf der Antwort von Antony Hatchkins :
Der offizielle Weg , das Popup zu deaktivieren, scheint folgendermaßen zu sein:
Packen Sie Ihre Erweiterung (aktivieren Sie das
chrome://extensions/
Kontrollkästchen "Entwicklermodus", klicken Sie auf "Erweiterung erweitern ...") und installieren Sie sie per Drag & Drop.crx
auf diechrome://extensions
Seite.(Da die Erweiterung nicht aus dem Chrome Web Store stammt, ist sie standardmäßig deaktiviert.)
Dann für Windows:
nmgnihglilniboicepgjclfiageofdfj
Start
>Run
und geben Sie einregedit
<ENTER>
HKLM\Software\Policies\Google\Chrome\ExtensionInstallWhitelist
Erstellen Sie unter key (erstellen, falls nicht vorhanden) für jede Erweiterung, die Sie aktivieren möchten, eine neue Zeichenfolge mit fortlaufenden Namen (Indizes), z. B. 1, 2, ...1
und Wertnmgnihglilniboicepgjclfiageofdfj
Das ist es!
Hinweis: Wenn Sie eine Erweiterung auf der Whitelist aktualisieren, müssen Sie nicht dieselben Schritte ausführen, da sich die ID der Erweiterung nicht ändert.
quelle
.crx
Datei wird nur ein Popup-Fenster angezeigtsave as window
, das nicht installiert wird. Chrome-Version 80.0.3987.163..crx
Datei wird die Erweiterung in Version 81.0.4044.122 installiert. @ JinSnow Schauen Sie sich Microsoft Edge - Richtlinien - ExtensionInstallAllowlist1) Warten Sie, bis der Popup-Ballon angezeigt wird.
2) Öffnen Sie eine neue Registerkarte.
3) Schließen Sie die neue Registerkarte. Das Popup wird von der ursprünglichen Registerkarte entfernt.
Eine kleine Chrome-Erweiterung kann die folgenden Schritte automatisieren:
manifest.json
background.js
Wenn diese Erweiterung installiert ist, starten Sie Chrome und wechseln Sie sofort die Apps, bevor das Popup angezeigt wird. Einige Sekunden später ist das Popup nicht mehr vorhanden und wird nicht mehr angezeigt, wenn Sie wieder zu Chrome wechseln.
quelle
--enable-automation
, um das Popup zu vermeiden.--enable-automation
hat seinen eigenen unangenehmen Nebeneffekt: a wirddiv
oben auf jeder Seite angezeigt, bis er geschlossen wird (dann wird er nicht mehr angezeigt). Das Popup im Entwicklermodus kann durch Drücken von ESC beim ersten Erscheinen geschlossen werden. In beiden Fällen nervig!Ich arbeite unter Windows und habe viele Dinge ausprobiert, die hier als Antwort bereitgestellt wurden, aber Popup hat die Erweiterung kontinuierlich deaktiviert. Dann habe ich die folgenden Schritte versucht und es funktioniert jetzt:
Pack extension
Schaltfläche und wählen Sie Ihr Stammverzeichnis der Erweiterung aus, indem Sie auf die rote rechteckige Schaltfläche zum Durchsuchen klicken, die im folgenden Bild angezeigt wird.Pack extension
Schaltfläche, die im unteren Bild im roten Kreis angezeigt wird.In Überprüfung
parent directory
Ihrer ausgewähltenroot directory
Erweiterung hätten nun 2 Dateien erstellt[extension name].crx
und[extension name].pem
.Ziehen Sie die
[extension name].crx
Datei jetzt einfach per Drag & Drop auf die Seite chrome: // extensions und Sie werden gefragt, ob Sie das Dialogfeld App hinzufügen verwenden möchten. Klicken Sie aufAdd app
und aktualisieren Sie die Seite, auf der sie jetzt installiert ist.Hinweis: Bevor Sie die oben genannten Schritte ausführen, müssen Sie den Entwicklermodus für Erweiterungen aktivieren . Wenn dies nicht aktiviert war, aktualisieren Sie die Seite chrome: // extensions, nachdem Sie sie aktiviert haben.
quelle
Diese Frage ist enorm alt, aber immer noch das beste Ergebnis bei Google, wenn Sie nach Möglichkeiten suchen, diese Popup-Nachricht zu deaktivieren, da ein Erweiterungsentwickler, der seine Erweiterung nicht zum Chrome Store hinzugefügt hat, keinen Zugriff auf Gruppenrichtlinien hat zu ihrem Betriebssystem und verwendet nicht den Chrome Dev Build. Unter diesen Umständen gibt es derzeit keine offizielle Lösung, daher werde ich hier eine etwas "hackige" veröffentlichen.
Mit dieser Methode erstellen wir sofort ein neues Fenster und schließen das alte. Das Popup-Fenster ist dem Originalfenster zugeordnet, sodass das Popup in normalen Anwendungsfällen nie angezeigt wird, da dieses Fenster geschlossen wird.
Die einfachste Lösung besteht darin, ein neues Fenster zu erstellen und alle Fenster zu schließen, die nicht das Fenster sind, das wir gerade im Rückruf erstellt haben:
Außerdem können wir erkennen, wie diese Erweiterung installiert ist, und diesen Code nur ausführen, wenn es sich um eine Entwicklungsinstallation handelt (obwohl es wahrscheinlich am besten ist, ihn vollständig aus dem Release-Code zu entfernen). Zuerst erstellen wir die Rückruffunktion für einen Aufruf von chrome.management.getSelf, mit der wir den Installationstyp der Erweiterung überprüfen können, der im Grunde nur den obigen Code in eine if-Anweisung einschließt:
Als nächstes rufen wir chrome.management.getSelf mit dem Rückruf auf, den wir gemacht haben:
Diese Methode weist einige Einschränkungen auf, nämlich, dass wir von einer dauerhaften Hintergrundseite ausgehen, was bedeutet, dass der Code beim ersten Öffnen von Chrome nur einmal ausgeführt wird. Ein zweites Problem ist, dass beim erneuten Laden / Aktualisieren der Erweiterung von der Seite chrome: // extensions alle derzeit geöffneten Fenster geschlossen werden und meiner Erfahrung nach die Warnung manchmal trotzdem angezeigt wird. Dieser Sonderfall kann vermieden werden, indem überprüft wird, ob Registerkarten für "chrome: // extensions" geöffnet sind und nicht ausgeführt werden, wenn dies der Fall ist.
quelle
Haben Sie versucht, den Developer Mode Extension Patcher auf Github zu verwenden?
Es patcht automatisch Ihren Chrome / Chromium / Edge-Browser und verbirgt die Warnung.
quelle
Ich habe etwas gefunden, das benutzergepackte Erweiterungen lädt und wunderbar funktioniert:
Sie müssen es noch in Details für die Problemerweiterung packen, aber danach können Sie den Entwicklermodus deaktivieren und den gepackten CRX über diesen laden. Sie müssen sich nicht darum kümmern, es zu unterschreiben oder so.
https://chrome.google.com/webstore/detail/crosspilot/migomhggnppjdijnfkiimcpjgnhmnale?hl=de
Hinweis: Ich bin nicht aus ihrem Team, ich habe nur jahrelang nach einer eleganten Lösung dafür gesucht.
quelle
Ruby-basierter Watir-Webdriver verwendet ungefähr Folgendes:
quelle
Für alle Benutzer von WebdriverIO können Sie Erweiterungen deaktivieren, indem Sie Ihren Client folgendermaßen erstellen:
quelle
Ich bin mir nicht sicher, ob dies immer noch ein Problem für die Menschen ist oder nicht. Ich habe jedoch diesen und mehrere andere Beiträge gelesen und schließlich damit herumgespielt und konnte ihn mit diesem Code in C # zum Laufen bringen. Ich habe alles aus diesem Beitrag und möglicherweise einigen mit diesem Beitrag verknüpften Beiträgen abgeleitet.
Ich hoffe, das hilft, es hat sicherlich meine Probleme in der C # -Konsolenanwendung gelöst.
Verwenden der Version 52.0.2743.116 m des Chrome Selenium 2.9-Servertreibers
quelle
Jetzt müssen wir damit umgehen, indem wir Folgendes tun:
Abgesehen davon
--disable-extensions
müssen wir auch Chromschalter hinzufügen--disable-extensions-file-access-check
(und / oder)--disable-extensions-http-throttling
.quelle
Leider kann ich das Einstellen in den Entwicklermodus aufgrund von Einschränkungen in der Breite mit dem Browser im iPhone-Modus nicht automatisieren. Ich habe vorerst eine gefährliche Problemumgehung gefunden. Installieren Sie die Dev-Channel-Version von Chrome. Es gibt keine Warnmeldung, aber ich bin mir sicher, dass es mir auf lange Sicht mehr Probleme bereiten wird, wenn Probleme auftreten. Trotzdem werde ich hoffentlich ein paar Tage Zeit haben, um eine Problemumgehung zu finden.
quelle
Restrict-AddIssueComment-EditIssue
)Wenn Sie Selen mit Python verwenden, starten Sie den Treiber mit den folgenden deaktivierten Erweiterungen:
Das Popup "Entwicklermodus-Erweiterungen deaktivieren" wird nicht angezeigt.
quelle