Deaktivieren Sie die Erweiterungen für den Entwicklermodus in Chrome


166

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.

Geben Sie hier die Bildbeschreibung ein

Geben Sie hier die Bildbeschreibung ein


Verwenden Sie externe Klicks, um das Popup zu beenden


@ artdias90 funktioniert nicht mehr, er möchte auch nicht mehr aktualisieren (was nach 2 Jahren Wartung verständlich ist).
BadAtPHP

Nachdem das Popup angezeigt wird, drücken Sie die Esc-Taste mit dem Robotertyp. 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); }
Abdullah Nurum

2
Randnotiz: Vivaldi Browser ist mit den meisten Chrome-Erweiterungen kompatibel und gibt diese Warnung nicht aus
Benutzer

Antworten:


79

Der offizielle Weg , um das Popup zu deaktivieren, ist folgender:

  1. Packen Sie Ihre Erweiterung: Gehen Sie zu chrome://extensions, überprüfen Sie Developer modeund klicken SiePack extension

  2. Installieren Sie die Erweiterung, indem Sie die .crxDatei per Drag & Drop auf die chrome://extensionsSeite 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:

  1. Laden Sie hier Vorlagen für Chrome-Gruppenrichtlinien herunter
  2. Kopieren [zip]\windows\admx\chrome.admxnachc:\windows\policydefinitions
  3. Kopieren [zip]\windows\admx\[yourlanguage]\chrome.admlnach c:\windows\policydefinitions\[yourlanguage]\chrome.adml(nicht c:\windows\[yourlanguage])
  4. Wechseln Sie in Chrome zur Seite "Erweiterungen": chrome://extensions
  5. Prüfen Developer Mode
  6. Scrollen Sie in der Liste der deaktivierten Erweiterungen nach unten und notieren Sie sich die ID (s) der Erweiterungen, die Sie aktivieren möchten.
  7. Klicken Sie auf Start> Run, geben Sie ein gpedit.mscund drücken Sie enter.
  8. Klicken Sie auf User Configuration> Administrative Templates> Google Chrome>Extensions
  9. Doppelklicken Sie auf Configure extension installation whitelistRichtlinie
  10. Wählen Sie Enabledund klicken SieShow
  11. Geben Sie in die Liste die ID (s) der Erweiterungen ein, die Sie in Schritt 7 notiert haben
  12. Klicken Sie auf OKChrome und starten Sie es neu.

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):

  1. Vorübergehend ermöglichen Developer modeinchrome://extensions

  2. Deinstallieren Sie die Erweiterung, die das Popup verursacht, mithilfe von Load unpacked.

  3. 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.

  4. Klicken Sie auf Pack extension. A .crxund .pemDatei werden in der Nähe des Stammverzeichnisses der Erweiterung erstellt. Installieren Sie die Erweiterung mithilfe der .crxDatei und bewahren Sie die .pemDatei sicher auf.

  5. Kopieren Sie die .crxinstallierte Erweiterungs-ID in die Whitelist und starten Sie Chrome neu.

Das Popup sollte weg sein.


4
@ Ryan Die Homepage dieser Richtlinienvorlagen zu sein scheint chromium.org/administrators/policy-templates wird regelmäßig (letzter Minute vor 54 update) aktualisiert Diese Seite. Ich habe diese Methode am 24. Juni verwendet und die Konfiguration funktioniert heute mit der neuesten Chrome-Version. Wenn Sie es vorziehen, dass «Kann nicht deaktiviert werden» die offizielle Version ist - Sie haben die Wahl;)
Antony Hatchkins

1
Ich habe das Problem über die Optionen des Selenium Chrome-Treibers gelöst (siehe hier) .
Kriegaex

1
@Antony Hatchkins Ich habe den aktualisierten Code aus dieser Antwort stackoverflow.com/questions/30287907/… verwendet und er hat wieder funktioniert. danke fürs reagieren!
Rohrbauer

1
Mein Windows ist Home Premium, ich habe nicht gpedit.msc: /
Lucas Bustamante

1
Funktioniert für mich in Chrome 58.0.3029.81, Win 7 x64 :) Ich hoffe, diese Lösung hält!
Jimadine

36

Verwenden Sie beim Erstellen des Chrome-Treibers die Option, um ihn zu deaktivieren. Es funktioniert ohne Erweiterungen.

Verwenden Sie das folgende Code-Snippet

ChromeOptions options = new ChromeOptions();
options.addArguments("chrome.switches","--disable-extensions");
System.setProperty("webdriver.chrome.driver",(System.getProperty("user.dir") + "//src//test//resources//chromedriver_new.exe"));
driver = new ChromeDriver(options);

35
wo sollen wir das schreiben
İbrahim Özbölük

Fügte es meiner Argractor-Datei argractor conf.js hinzu und das funktionierte. Vielen Dank :)
Ghiscoding

2
Das hat super geklappt. In C # lautet der Code:options.AddArgument("--disable-extensions");
Kirbycope

4
Heute musste ich 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.
Anders Lindén

14
Kannst du es ein bisschen für sterbliche Menschen erklären? Was ist das für ein Skript oder wo soll es abgelegt werden
?

23

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:

    1. Führen Sie die hiew32-Demo (im Administratormodus) aus und öffnen Sie die Chrome.dll
    2. zur Hex-Ansicht wechseln ( EnterSchlüssel)
    3. Suche nach ExtensionDeveloperModeWarning ( F7)
    4. Drücken Sie F3, um den ersten Buchstaben "E" zu bearbeiten und durch ein anderes Zeichen zu ersetzen
    5. save ( F9).
  • patch.BAT Skript

Dies 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.


Hallo, ich versuche es mit hiew32demo zu patchen, aber ich konnte es nicht. Wenn ich chrome.dll öffne, bekomme ich 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 bekomme Target not found. Kannst du mir helfen?
Gsx

1
Ich kann '4578 7465 6e73 696f 6e44 6576' ('ExtensionDev') in chrome.dll nicht finden. Funktioniert diese Methode noch?
Emerson

Gsx, meine Methode funktioniert für 32-Bit-Chrome auf Dev-Kanal.
WOxxOm

2
Emerson, diese Änderung ist erst vor einer Woche im Dev-Kanal gelandet, also nicht in Stable. Sie müssen den relevanten Ort finden, indem Sie die vorherige Version des Quellcodes analysieren.
WOxxOm

1
@wOxxOm Das ist auch fehlgeschlagen, aber ich habe einen seltsamen Weg gefunden XD. Ich suchte nach ExtensionDeveloperMo und änderte das in EXtensionDeveloperMo und das schien zu funktionieren.
Gsx

7

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).


66
Es gibt Tausende von Gründen, warum ich meine Erweiterung / Apps nicht im Webstore verwenden kann. Ich muss sie lokal ausführen. Dies war eine sehr böse Implementierung des Google Chromium-Teams, sehr böse, jemand mit Wissen sollte mit Chromium debattieren und es reparieren lassen. Schreckliches Problem und ernsthaft nicht geschätzt. Die Antwort auf dieses Problem ist einfach zu viel für Leute, die an einem Kioskprojekt arbeiten. sein Albtraum. Bitte informieren / klopfen / debattieren Sie mit der Chrom-Community, um eine Lösung dafür zu finden.

4
Es wird nur eine Frage der Zeit sein, bis Sie mit Chrome nichts mehr entwickeln können :)
Vinz

1
Richtig, es liegt an der Malware ... wir versuchen nicht, Leute zu ärgern, die Erweiterungen verwenden, die wir aus unserem Shop blockiert haben, wie Dissenter ...
Chris_F

Ich muss einen benutzerdefinierten Manifestschlüssel hinzufügen und das Hochladen in den Webshop ist keine Option.
Obst

5

(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

Die Windows- und Linux-Vorlagen sowie die allgemeine Richtliniendokumentation für alle Betriebssysteme finden Sie hier: https://dl.google.com/dl/edgedl/chrome/policy/policy_templates.zip (Zip-Datei der Google Chrome-Vorlagen und Dokumentation)

Anleitung für Windows (mit meinen Ergänzungen):

Öffnen Sie die heruntergeladene ADM- oder ADMX-Vorlage:

  • Extrahieren Sie "chrome.adm" in der Sprache Ihrer Wahl aus der zuvor heruntergeladenen "policy_templates.zip" (z. B. "policy_templates.zip \ windows \ adm \ de-US \ chrome.adm").
  • Navigieren Sie zu Start> Ausführen: gpedit.msc.
  • Navigieren Sie zu Lokale Computerrichtlinie> Computer- / Benutzerkonfiguration > Administrative Vorlagen.
  • Klicken Sie mit der rechten Maustaste auf Administrative Vorlagen, und wählen Sie Vorlagen hinzufügen / entfernen aus.
  • Fügen Sie die Vorlage "chrome.adm" über den Dialog hinzu.
  • Nach Abschluss des Vorgangs wird der Ordner "Klassische Verwaltungsvorlagen (ADM) / Google / Google Chrome" unter "Verwaltungsvorlagen" angezeigt.
  • Unabhängig davon, ob Sie die Vorlage unter Computerkonfiguration oder Benutzerkonfiguration hinzufügen, werden die Einstellungen an beiden Stellen angezeigt, sodass Sie Chrome auf Computer- oder Benutzerebene konfigurieren können.

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 ).


Danke Panther. Die Vorlage "chrome.adm" wurde über den Dialog hinzugefügt und es wurde folgende Fehlermeldung angezeigt: Der folgende Eintrag im Abschnitt [strings] ist zu lang und wurde abgeschnitten. Darauf folgt eine Seite von Kyrillisch?
Steve Staple

Verwenden Sie @, um andere Benutzer automatisch über Ihren Beitrag zu benachrichtigen (z. B. @Panther).
Antony Hatchkins

@SteveStaple Entschuldigung, aber ich weiß nicht, was die Ursache für ein solches Problem sein würde. :( Ich bin kein Experte in diesem Bereich, habe nur die Anweisungen von der Seite befolgt, die ich verlinkt habe. Zum Glück hat es bei mir funktioniert.
Panther

4

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.

import java.awt.Robot;
import java.awt.event.InputEvent;

public class kiosk {
  public static void main(String[] args) {
    // As long as you don't move the Chrome window, the Cancel button should appear here.
    int x = 410;
    int y = 187;

    try {
      Thread.sleep(7000);// can also use robot.setAutoDelay(500);
      Robot robot = new Robot();
      robot.mouseMove(x, y);
      robot.mousePress(InputEvent.BUTTON1_MASK);
      robot.mouseRelease(InputEvent.BUTTON1_MASK);
      Thread.sleep(3000);// can also use robot.setAutoDelay(500);
    } catch (AWTException e) {
      System.err.println("Error clicking Cancel.");
      e.printStackTrace();
    } catch (InterruptedException e) {
      e.printStackTrace();
    }
  }
}

Diese Antwort ist unterbewertet, da sie angepasst werden kann, um andere lästige unvermeidbare GUI-Schaltflächenklickaufgaben zu automatisieren.
D Adams

@momomo Natürlich kann es in einer Konfiguration oder so eingestellt werden, aber dies ist nur ein Beispielcode.
Steve Smith

4

Es gibt eine alternative Lösung: Verwenden Sie den Chrome-Developer-Mode-Extension-Warning-Patcher :

  1. Laden Sie die neueste Version von hier aus Github.
  2. Schließen Sie Chrome.
  3. Entpacken Sie das Zip-Archiv und führen Sie ChromeDevExtWarningPatcher.exe als Administrator aus .
  4. Wählen Sie Ihre Chrome-Installation über die gerade geöffnete Benutzeroberfläche aus und klicken Sie auf die Schaltfläche Patch:

Geben Sie hier die Bildbeschreibung ein

  1. Genießen Sie Chrome ohne DevMode-Popup!

3

Ich hatte das gleiche Problem und habe Folgendes versucht:

  1. Packen Sie die ausgepackte Erweiterung
  2. Deaktivieren Sie den Entwicklermodus
  3. Ziehen Sie die CRX-Datei per Drag & Drop aus der gepackten Erweiterung
  4. Schließen Sie Chrome und öffnen Sie es erneut.

Ein paar Dinge zu beachten:

  • Die .pem-Datei sollte zusammen mit der .crx-Datei aufbewahrt werden
  • Legen Sie die .crx- und die .pem-Datei nicht in den Ordner der entpackten Erweiterung.

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!


Nach Verwendung Ihrer Methode wurde das Popup "Nicht unterstützte Erweiterungen" angezeigt. Weitere Informationen zum Deaktivieren finden Sie in meiner Antwort .
Antony Hatchkins

Ich habe "Apps, Erweiterungen und Benutzerskripte können nicht von dieser Website hinzugefügt werden".
Johny, warum

2

Basierend auf der Antwort von Antony Hatchkins :

Der offizielle Weg , das Popup zu deaktivieren, scheint folgendermaßen zu sein:

  1. Packen Sie Ihre Erweiterung (aktivieren Sie das chrome://extensions/Kontrollkästchen "Entwicklermodus", klicken Sie auf "Erweiterung erweitern ...") und installieren Sie sie per Drag & Drop .crxauf die chrome://extensionsSeite.

    (Da die Erweiterung nicht aus dem Chrome Web Store stammt, ist sie standardmäßig deaktiviert.)

Dann für Windows:

  1. Wechseln Sie in Chrome zur Seite "Erweiterungen" ( chrome: // extensions ).
  2. Aktivieren Sie das Kontrollkästchen Entwicklermodus oben
  3. Scrollen Sie in der Liste der deaktivierten Erweiterungen nach unten und notieren Sie sich die ID (s) der Erweiterungen, die Sie aktivieren möchten. LogMeIn ist beispielsweise ID:nmgnihglilniboicepgjclfiageofdfj
  4. Klicken Sie auf Start> Runund geben Sie einregedit <ENTER>
  5. HKLM\Software\Policies\Google\Chrome\ExtensionInstallWhitelistErstellen 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, ...
  6. Geben Sie die Erweiterungs-IDs als Zeichenfolgenwerte in beliebiger Reihenfolge ein. Zum Beispiel gibt es eine Zeichenfolge mit Name 1und Wertnmgnihglilniboicepgjclfiageofdfj
  7. Starten Sie Chrome neu

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.


Durch Ziehen und Ablegen einer .crxDatei wird nur ein Popup-Fenster angezeigt save as window, das nicht installiert wird. Chrome-Version 80.0.3987.163.
xyz

1
Der Registrierungsschlüssel für Edge Chromium konnte nicht gefunden werden
JinSnow

@xyz Durch Ziehen und Ablegen einer .crxDatei wird die Erweiterung in Version 81.0.4044.122 installiert. @ JinSnow Schauen Sie sich Microsoft Edge - Richtlinien - ExtensionInstallAllowlist
Burak Gök

1

1) 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

{
  "name": "Open and close tab",
  "description": "After Chrome starts, open and close a new tab.",
  "version": "1.0",
  "manifest_version": 2,
  "permissions": ["tabs"],
  "background": {
    "scripts": ["background.js"], 
    "persistent": false
  }
}

background.js

// This runs when Chrome starts up
chrome.runtime.onStartup.addListener(function() {

  // Execute the inner function after a few seconds
  setTimeout(function() {

    // Open new tab
    chrome.tabs.create({url: "about:blank"});

    // Get tab ID of newly opened tab, then close the tab
    chrome.tabs.query({'currentWindow': true}, function(tabs) {
      var newTabId = tabs[1].id;
      chrome.tabs.remove(newTabId);
    });

  }, 5000);

});

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.


(Bonus-Tipp 1) Wenn Sie Selen verwenden, können Sie sofort ein neues Fenster öffnen, auf das Popup im neuen Fenster warten und dann das neue Fenster schließen, um das Popup zu schließen. stackoverflow.com/a/36507179/3345375
jkdev

2
(Bonus-Tipp 2) Sie können auch Folgendes versuchen: Fügen Sie die Flagge hinzu --enable-automation, um das Popup zu vermeiden.
jkdev

2
Das hat bei mir nicht funktioniert. Gewinnen Sie 10, Chrome auf dem neuesten Stand. Nachdem Sie die Schritte ausgeführt haben, blieb das Popup erhalten.
Freginold

@freginold Um herauszufinden, was funktioniert, musste ich mit verschiedenen Sequenzen zum Öffnen und Schließen von Registerkarten / Fenstern experimentieren. Die Reihenfolge kann für andere Betriebssysteme und Browserversionen unterschiedlich sein.
JKDEV

@jkdev Der Befehlszeilenschalter --enable-automationhat seinen eigenen unangenehmen Nebeneffekt: a wird divoben 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!
George

0

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:

  1. Gehen Sie zur Seite chrome: // extensions und klicken Sie auf die Pack extensionSchaltflä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.

Durchsuchen Sie das Stammverzeichnis der Erweiterung

  1. nach Auswahl des Stammverzeichnisses Klicken Sie auf die Pack extensionSchaltfläche, die im unteren Bild im roten Kreis angezeigt wird.

Geben Sie hier die Bildbeschreibung ein

  1. In Überprüfung parent directoryIhrer ausgewählten root directoryErweiterung hätten nun 2 Dateien erstellt [extension name].crxund [extension name].pem.

  2. Ziehen Sie die [extension name].crxDatei 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 auf Add appund 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.


1
Die entpackte Erweiterung funktioniert mit der Warnung im Entwicklermodus. Bei crx ist die Erweiterung jedoch immer deaktiviert. Bei Google muss die Erweiterung im Webshop veröffentlicht und von dort installiert werden.
gp.

Chrome lässt Benutzer keine gepackten Erweiterungen installieren und sagt, das Paket sei ungültig: CRX_REQUIRED_PROOF_MISSING.
Harshit Juneja

@HarshitJuneja Möglicherweise müssen Sie die Erweiterungs-ID auf die Whitelist setzen und Chrome neu starten.
Haritsinh Gohil

0

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:

chrome.windows.create({
    type: 'normal',
    focused: true,
    state: 'maximized'
}, function(window) {
    chrome.windows.getAll(function(windows) {
        for (var i = 0; i < windows.length; i++) {
            if (windows[i].id != window.id) {
                chrome.windows.remove(windows[i].id);
            }
        }
    });
});

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:

function suppress_dev_warning(info) {
    if (info.installType == "development") {
        chrome.windows.create({
            type: 'normal',
            focused: true,
            state: 'maximized'
        }, function(window) {
            chrome.windows.getAll(function(windows) {
                for (var i = 0; i < windows.length; i++) {
                    if (windows[i].id != window.id) {
                        chrome.windows.remove(windows[i].id);
                    }
                }
            });
        });
    }
}

Als nächstes rufen wir chrome.management.getSelf mit dem Rückruf auf, den wir gemacht haben:

chrome.management.getSelf(suppress_dev_warning);

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.



0

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.


-1

Ruby-basierter Watir-Webdriver verwendet ungefähr Folgendes:

browser=Watir::Browser.new( :chrome, :switches => %w[ --disable-extensions ] )

-1

Für alle Benutzer von WebdriverIO können Sie Erweiterungen deaktivieren, indem Sie Ihren Client folgendermaßen erstellen:

var driver = require('webdriverio');
var client = driver.remote({
    desiredCapabilities: {
        browserName: 'chrome',
        chromeOptions: {
            args: [
                'disable-extensions'
            ]
        }
    }
});

OP verwendet WebDriverIO nicht. Außerdem bittet OP darum, das Popup zu deaktivieren, aber Sie haben stattdessen Erweiterungen deaktiviert.
Cardin Lee JH

-1

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

        var chromeService = ChromeDriverService.CreateDefaultService(@"C:\Selenium\InstalledServerDrivers\");
        var options = new ChromeOptions();

        options.AddArgument("--disable-extensions");                                      
        IWebDriver driver = new ChromeDriver(chromeService, options);

        driver.Url = "http://www.google.com/";

Funktioniert wie ein Zauber (C # WebDriver 2.53.1.0, ChromeDriver 2.20.353145, Win7 x64)
Alessandro Da Rugna

-1

Jetzt müssen wir damit umgehen, indem wir Folgendes tun:

ChromeOptions chromeOptions = new ChromeOptions();
chromeOptions.addArguments("chrome.switches", "--disable-extensions --disable-extensions-file-access-check --disable-extensions-http-throttling");

Abgesehen davon --disable-extensionsmüssen wir auch Chromschalter hinzufügen --disable-extensions-file-access-check(und / oder) --disable-extensions-http-throttling.


-2

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.


Sie können auch den Beta-Kanal verwenden . Es ist stabiler als Entwickler. Gleichzeitig hat es mehr Funktionen als der stabile Kanal.
Rob W

1
@RobW asargent sagte, dass das Popup auch im Beta-Kanal vorhanden ist. Ist das falsch? code.google.com/p/chromium/issues/detail?id=337734#c2
rsanchez

1
@rsanchez Ich habe es gerade unter Windows versucht und du bist richtig. Danke für die Korrektur. Ich benutze Linux, daher tritt dieses Problem nicht auf (:
Rob W

Dies funktioniert nicht mehr: blog.chromium.org/2015/05/…
Xan

@RobW Könnten Sie ein Update zum Fehler veröffentlichen? (es ist Restrict-AddIssueComment-EditIssue)
Xan

-4

Wenn Sie Selen mit Python verwenden, starten Sie den Treiber mit den folgenden deaktivierten Erweiterungen:

from selenium import webdriver
options = webdriver.chrome.options.Options()
options.add_argument("--disable-extensions")
driver = webdriver.Chrome(chrome_options=options)

Das Popup "Entwicklermodus-Erweiterungen deaktivieren" wird nicht angezeigt.


OP fragt, wie das Popup deaktiviert werden soll. Stattdessen haben Sie beschlossen, seine Erweiterungen zu deaktivieren. : /
Cardin Lee JH
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.