it-swarm.com.de

Deaktivieren Sie die Erweiterungen für den Entwicklermodus in Chrome

Seit der letzten Version von Chrome (34.0.1847.116) in der letzten Woche habe ich die "Erweiterungen des Entwicklermodus deaktivieren" erhalten, wenn automatisierte Tests mit dem Watir-Webdriver ausgeführt werden. 

Dies scheint die offensive Erweiterung zu sein, aber es macht für mich keinen Sinn, dass dies eine potenziell gefährliche Erweiterung ist, da sie vom Chromdriver verwendet wird.

Jeder, der ein Update für dieses Problem gefunden hat, da ich nicht in der Lage bin, zur vorherigen Version zurückzukehren oder ein Installationsprogramm für eine ältere Version zu finden, auf das zurückgegriffen werden kann, und dies führt zu Verwüstungen bei meinen Tests. 

enter image description here

enter image description here

129
lambsubstitute

Die offizielle Methode zum Deaktivieren des Popups scheint folgendermaßen zu sein:

  1. Packen Sie Ihre Erweiterung (chrome://extensions/, klicken Sie auf "Entwicklermodus", klicken Sie auf "Erweiterung packen ...") und installieren Sie sie durch Ziehen und Ablegen der .crx-Datei auf der Seite chrome://extensions.

    (Das Popup "Nicht unterstützte Erweiterungen ist deaktiviert" wird angezeigt, wenn Sie versuchen, Chrome zu diesem Zeitpunkt neu zu starten.)

Dann für Win7/8:

  1. Laden Sie die Gruppenrichtlinienvorlagen von Chrome von folgenden Seiten herunter:
    http://dl.google.com/dl/edgedl/chrome/policy/policy_templates.Zip 
  2. Kopiere [Zip]\windows\admx\chrome.admx nach c:\windows\policydefinitions 
  3. Kopieren Sie [Zip]\windows\admx\[yourlanguage]\chrome.adml nach
    c:\windows\policydefinitions\[yourlanguage]\chrome.adml (nicht c:\windows\[yourlanguage]
  4. Wechseln Sie in Chrome zur Erweiterungsseite ( chrome: // extensions ).
  5. Aktivieren Sie das Kontrollkästchen Entwicklermodus oben 
  6. Blättern 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 die ID: nmgnihglilniboicepgjclfiageofdfj 
  7. Klicken Sie auf Start> Run und geben Sie gpedit.msc<ENTER> ein. 
  8. Erweitern Sie User Configuration> Administrative Templates> Google Chrome> Extensions 
  9. Doppelklicken Sie, um die Configure extension installation whitelist-Richtlinie zu öffnen 
  10. Wählen Sie Enabled aus und klicken Sie auf Show...
  11. Geben Sie in der Liste die ID (s) der Erweiterungen ein, die Sie in Schritt 7 notiert haben
  12. Klicken Sie auf OK und starten Sie Chrome neu

Das ist es!

Ab Juli 2018 funktioniert dieser Ansatz nicht mehr: Es scheint, dass Google die "Whitelist" nicht mehr ehrt.

EDIT: Ab dem 16.10.2014 FUNKTIONIERT dieser Ansatz. (Chrome-Version 69.0.3497.100 (Offizielle Version) (64-Bit))

1.Aktiviere den Entwicklermodus in chrome: // extensions /

2. Deinstallieren Sie die installierte Erweiterung (genauer gesagt die Erweiterung, die das Popup verursacht) mit "Unpacked Load".

3.Klicken Sie auf die Paketerweiterung und geben Sie das Stammverzeichnis der Dateien ein (legen Sie die Erweiterungsdateien pro Fehler in einen einzelnen Ordner/einen Ordner, der die Erweiterung verursacht).

4. Klicken Sie auf die Packungserweiterung. Eine .crx- und .pem-Datei wird in der Nähe des Stammverzeichnisses der Erweiterung erstellt. Installieren Sie die Erweiterung mit der CRX-Datei und bewahren Sie die PEM-Datei sicher auf (wenn Sie sie löschen oder wenn etwas nicht funktioniert, können Sie die Erweiterung immer neu packen).

5. Kopieren Sie anschließend die installierte Erweiterungs-ID von crx in die Whitelist, und starten Sie Chrome neu.

Das Popup sollte verschwunden sein.

40

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

Verwenden Sie das folgende Codefragment

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);
34
Amanpreet Kaur

Ab Mai 2015 Chrome beta/dev/canary unter Windows (siehe Zeilen 75-78) wird diese Warnung immer angezeigt.

  • Ich habe gerade chrome.dll (dev channel, 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 dann F6, um zu suchen Gehen Sie zum Referenzcode in die nahegelegene Zeile INC EAX, gefolgt von RETN. Drücken Sie zum Bearbeiten F3. Geben Sie statt 40 90 ein. Diese wird als NOP (no-op) gerendert und save (F9). 

  • @Gsx hat eine vereinfachte Methode gefunden, die auch für 64-Bit-Chrome-Dev funktioniert:

    1. starten Sie die hiew32-Demo (im Admin-Modus) und öffnen Sie die Datei Chrome.dll
    2. zur Hex-Ansicht wechseln (Enter key)
    3. suche nach ExtensionDeveloperModeWarning (F7)
    4. drücken Sie F3, um den ersten Buchstaben "E" durch ein beliebiges anderes Zeichen zu bearbeiten
    5. speichern (F9). 
  • patch.BAT script

Natürlich dauert dies nur bis zum nächsten Update. Wer also häufig gebraucht wird, schreibt vielleicht einen Auto-Patcher oder einen Launcher, der die DLL in den Speicher schreibt.

21
wOxxOm

Kann nicht deaktiviert werden. Zitat: "Sorry, wir wissen, dass es nervig ist, aber Sie die Malware-Schreiber ..."

Ihre einzigen Optionen sind: Passen Sie Ihre automatisierten Tests an dieses neue Verhalten an oder laden Sie das anstößige Skript in den Chrome Web Store hoch (dies kann auf "nicht gelistete" Weise erfolgen).

8
Xan

(Antwort an Antony Hatchkins)

Dies ist die aktuelle, buchstäblich offizielle Methode, um Chrome-Richtlinien festzulegen: https://support.google.com/chrome/a/answer/187202?hl=de

Die Windows- und Linux-Vorlagen sowie die allgemeine Richtlinie Dokumentation 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)

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

Öffnen Sie die ADM- oder ADMX-Vorlage, die Sie heruntergeladen haben:

  • Extrahieren Sie "chrome.adm" in der Sprache Ihrer Wahl aus dem 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 Richtlinie für lokale Computer> Computer/Benutzer Konfiguration> Administrative Vorlagen.
  • Klicken Sie mit der rechten Maustaste auf Administrative Vorlagen, und wählen Sie Vorlagen hinzufügen/entfernen aus.
  • Fügen Sie über den Dialog die Vorlage "chrome.adm" hinzu.
  • Nach Abschluss des Vorgangs wird unter Administrative Vorlagen der Ordner Classic Administrative Templates (ADM)/Google/Google Chrome 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 einer Computer- oder Benutzerebene konfigurieren können.

Wenn Sie damit fertig sind, fahren Sie mit Schritt 5 von Antwort von Antony Hatchkins fort. Nachdem Sie die Erweiterungs-ID (s) hinzugefügt haben, können Sie überprüfen, ob die Richtlinie in Chrome funktioniert, indem Sie chrome://policy öffnen (suchen Sie nach ExtensionInstallWhitelist ).

3
Panther

Ich hatte das gleiche Problem und versuchte folgendes:

  1. Packen Sie die entpackte Erweiterung
  2. Deaktivieren Sie den Entwicklermodus
  3. Ziehen Sie die .crx-Datei aus der gepackten Erweiterung
  4. Schließen Sie Chrome und öffnen Sie es erneut.

Ein paar Dinge zu beachten:

  • Die PEM-Datei sollte bei der .crx aufbewahrt werden
  • Legen Sie das .crx und das .pem nicht in den Ordner der entpackten Erweiterung.

Beim erneuten Öffnen von Chrome wurde ein Popup-Fenster mit der neuen gepackten Erweiterung angezeigt. Daher habe ich Chrome neu gestartet, um zu sehen, ob es das erneut tun würde, und dies nicht.

Ich hoffe diese Lösung hat funktioniert!

3
Ethan Leyden

Die Einstellung zum Deaktivieren der Erweiterungen hat für mich nicht funktioniert. Stattdessen habe ich die Klasse Robot 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();
    }
  }
}
2
stackexchanger

1) Warten Sie, bis die Popup-Sprechblase angezeigt wird. 

2) Öffnen Sie eine neue Registerkarte. 

3) Schließen Sie eine neue Registerkarte. Das Popup-Fenster wird von der ursprünglichen Registerkarte entfernt.

Eine kleine Chrome-Erweiterung kann diese 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
  }
}

hintergrund.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 Sie werden es nicht mehr sehen, wenn Sie wieder zu Chrome wechseln.

1
jkdev

Für jeden, der WebdriverIO verwendet, 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'
            ]
        }
    }
});
1
chris

Ich arbeite unter Windows. Und ich habe eine Menge Dinge ausprobiert, die hier als Antwort bereitgestellt wurden. Aber Pop-up hat die Erweiterung ständig deaktiviert. Dann habe ich die folgenden Schritte versucht und es funktioniert jetzt:

  1. Gehen Sie zu chrome: // extensions page und klicken Sie auf die Schaltfläche Pack extension und wählen Sie Ihr Stammverzeichnis der Erweiterung aus, indem Sie auf die rote, rechteckige Schaltfläche zum Durchsuchen klicken, die im unteren Bild angezeigt wird.

 browse root directory of extension 

  1. nachdem Sie das Stammverzeichnis ausgewählt haben, klicken Sie auf die Schaltfläche Pack extension, die im roten Kreis unter dem Bild angezeigt wird.

 enter image description here 

  1. Wenn Sie nun parent directory Ihres ausgewählten root directory der Erweiterung überprüfen, hätte 2 Datei [extension name].crx und [extension name].pem erstellt.

  2. Ziehen Sie nun einfach die Datei [extension name].crx auf die Seite chrome: // extensions und Sie werden gefragt, ob Sie das Dialogfeld zum Hinzufügen einer App verwenden möchten. Klicken Sie auf Add app und aktualisieren Sie die Seite, auf der sie jetzt installiert ist.

Hinweis: Bevor Sie wie oben vorgehen, stellen Sie sicher, dass Sie den Entwicklermodus für Erweiterungen aktivieren . Wenn dies nicht aktiviert war, aktualisieren Sie die Seite chrome: // extensions, nachdem Sie sie aktiviert haben.

0
Haritsinh Gohil

Ich bin mir nicht sicher, ob dies immer noch ein Problem für die Menschen ist oder nicht. Ich habe jedoch diesen Post und einige andere durchgelesen und schließlich damit herumgespielt und konnte mit diesem Code in C # funktionieren. Ich habe alles von diesem Beitrag abgeleitet und möglicherweise einige mit diesem Beitrag verknüpfte Beiträge. 

Ich hoffe, das hilft, es hat sicherlich meine Probleme in der C # -Konsolenanwendung gelöst.

Verwendung von Version 52.0.2743.116 m von Chrome Selenium 2.9 Server Driver

        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/";
0
Doug