web-dev-qa-db-fra.com

Désactiver les extensions en mode développeur dans Chrome

Depuis la dernière version de chrome (34.0.1847.116) la semaine dernière, je reçois le message «Désactiver les extensions en mode développeur» lors de l'exécution de tests automatisés avec watir-webdriver. 

Cela semble être une extension offensive mais cela n’a aucun sens pour moi qu’il s’agisse d’une extension potentiellement dangereuse compte tenu de son utilisation par le chromedriver.

Tous ceux qui ont trouvé une solution à ce problème, car je ne parviens pas à revenir à la version précédente ni à trouver un programme d'installation pour une version plus ancienne, ce qui cause des dégâts considérables avec mes tests. 

enter image description here

enter image description here

129
lambsubstitute

Le voie officielle } pour désactiver le popup semble être comme ceci:

  1. Emballez votre extension (chrome://extensions/, cochez la case 'Mode développeur', cliquez sur 'Pack extension ...') et installez-la par glisser-déposer du fichier .crx dans la page chrome://extensions.

    (Vous obtiendrez une fenêtre contextuelle "Extensions non prises en charge désactivées, si vous essayez de redémarrer Chrome à ce stade).

Puis pour Win7/8:

  1. Téléchargez les modèles de stratégie de groupe Chrome à partir de:
    http://dl.google.com/dl/edgedl/chrome/policy/policy_templates.Zip 
  2. Copier [Zip]\windows\admx\chrome.admx dans c:\windows\policydefinitions 
  3. Copier [Zip]\windows\admx\[yourlanguage]\chrome.adml dans
    c:\windows\policydefinitions\[yourlanguage]\chrome.adml (pas c:\windows\[yourlanguage]
  4. Dans Chrome, accédez à la page Extensions ( chrome: // extensions ).
  5. Cochez la case Mode développeur en haut. 
  6. Faites défiler la liste des extensions désactivées et notez le (s) ID (s) des extensions Que vous souhaitez activer. LogMeIn, par exemple, est l'ID: nmgnihglilniboicepgjclfiageofdfj 
  7. Cliquez sur Start> Run et tapez gpedit.msc<ENTER> 
  8. Développez User Configuration> Administrative Templates> Google Chrome> Extensions 
  9. Double-cliquez pour ouvrir la stratégie Configure extension installation whitelist 
  10. Sélectionnez Enabled, puis cliquez sur Show... 
  11. Dans la liste, entrez le ou les ID des extensions que vous avez notées à l'étape 7.
  12. Cliquez sur OK et redémarrez Chrome.

C'est tout!

Depuis juillet 2018, cette approche ne fonctionne plus: il semblerait que Google ait cessé de respecter la "liste blanche".

EDIT: Au 16/10/2018, cette approche fonctionne. (Version Chrome 69.0.3497.100 (version officielle) (64 bits))

1. Activez temporairement le mode développeur en chrome: // extensions /

2. Désinstallez l'extension que vous avez installée (plus précisément l'extension à l'origine du message contextuel) à l'aide du bouton "Charger sans emballage".

3.Cliquez sur l'extension du pack et entrez le répertoire racine des fichiers (placez les fichiers d'extension dans un seul dossier/un dossier par erreur provoquant l'extension), n'entrez pas le fichier de clé privée si vous ne l'avez pas.

4.Cliquez sur l'extension du pack pour créer un fichier .crx et .pem près du répertoire racine de l'extension. Installez l'extension à l'aide du fichier crx et conservez le fichier pem en lieu sûr (si vous le supprimez ou si quelque chose se passe mal sans cela, vous pouvez toujours remballer l'extension).

5.Puis copiez l'ID d'extension installée par crx dans la liste blanche et redémarrez Chrome.

Le popup devrait être parti.

40
Antony Hatchkins

Lors de la création du pilote chrome, utilisez l'option pour le désactiver. Son fonctionnement sans aucune extension.

Utiliser l'extrait de code suivant

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

À partir du Mai 2015 Chrome beta/dev/canary sous Windows (voir lignes 75 à 78), affichez toujours cet avertissement.

  • Je viens de patcher chrome.dll (canal de développement, 32 bits) à l'aide de la version de démonstration de hiew32: lancez-le, passez en mode d'affichage hexadécimal (touche Entrée), recherchez ExtensionDeveloperModeWarning (F7), puis appuyez sur F6 pour le trouver. le code de référence, aller à la ligne INC EAX à proximité, suivi de RETN, appuyer sur F3 pour modifier, taper 90 à la place de 40, qui sera affiché sous la forme NOP (no-op), enregistrez (F9). 

  • Méthode simplifiée trouvée par @Gsx, qui fonctionne également pour les développeurs Chrome 64 bits:

    1. lancez la démo hiew32 (en mode administrateur) et ouvrez Chrome.dll
    2. passer en affichage hexadécimal (touche Enter)
    3. rechercher ExtensionDeveloperModeWarning (F7)
    4. appuyez sur F3 pour modifier et remplacer la première lettre "E" par un autre caractère
    5. enregistrer (F9). 
  • patch.BAT script

Bien sûr, cela ne durera que jusqu’à la prochaine mise à jour. Ainsi, tous ceux qui en ont besoin peuvent écrire un correctif automatique ou un programme de lancement qui corrige la dll en mémoire.

21
wOxxOm

Ne peut être désactivé. Citation: "Désolé, nous savons que c'est agaçant, mais vous les auteurs de logiciels malveillants ..."

Vos seules options sont les suivantes: adapter vos tests automatisés à ce nouveau comportement ou télécharger le script incriminé sur le Chrome Web Store (cette opération peut être effectuée de manière "non répertoriée").

8
Xan

(En réponse à Antony Hatchkins)

C’est le moyen actuel, littéralement officiel de définir les règles de Chrome: https://support.google.com/chrome/a/answer/187202?hl=fr

Les modèles Windows et Linux, ainsi que la stratégie commune La documentation de tous les systèmes d’exploitation est disponible ici: https://dl.google.com/dl/edgedl/chrome/policy/policy_templates.Zip (fichier Zip de modèles et de documentation Google Chrome)

Instructions pour Windows (avec mes ajouts):

Ouvrez le modèle ADM ou ADMX que vous avez téléchargé:

  • Extrayez "chrome.adm" dans la langue de votre choix à partir du "policy_templates.Zip" téléchargé précédemment (par exemple, "policy_templates.Zip\windows\adm\en\US\chrome.adm").
  • Accédez à Démarrer> Exécuter: gpedit.msc.
  • Accédez à Stratégie de l'ordinateur local> Configuration ordinateur/utilisateur> Modèles d'administration.
  • Cliquez avec le bouton droit de la souris sur Modèles d’administration, puis sélectionnez Ajouter/Supprimer des modèles.
  • Ajoutez le modèle "chrome.adm" via la boîte de dialogue.
  • Une fois terminé, le dossier Modèles d'administration classique (ADM)/Google/Google Chrome apparaîtra sous Modèles d'administration.
  • Que vous ajoutiez le modèle sous Configuration de l'ordinateur ou Configuration de l'utilisateur, les paramètres apparaîtront aux deux endroits, ce qui vous permettra de configurer Chrome au niveau de l'ordinateur ou de l'utilisateur.

Une fois que vous avez terminé, continuez à partir de l’étape 5 de réponse d’Antony Hatchkins . Une fois que vous avez ajouté le ou les identifiants d'extension, vous pouvez vérifier que la stratégie fonctionne dans Chrome en ouvrant chrome://policy (recherchez ExtensionInstallWhitelist ).

3
Panther

Je souffrais du même problème et j'ai essayé ce qui suit:

  1. Emballez l'extension décompressée
  2. Désactiver le mode développeur
  3. Faites glisser le fichier .crx à partir de l'extension compressée
  4. Fermez Chrome, puis rouvrez-le.

Quelques points à noter:

  • Le fichier .pem doit être conservé avec le .crx
  • Ne mettez pas les fichiers .crx et .pem dans le dossier de l’extension décompressée.

Lorsque j'ai rouvert Chrome, une fenêtre contextuelle m'informant de la nouvelle extension fournie, j'ai donc redémarré Chrome pour voir si cela se reproduirait, mais ce n'est pas le cas.

J'espère que cette solution a fonctionné!

3
Ethan Leyden

Le paramètre de désactivation des extensions ne fonctionnait pas pour moi. Au lieu de cela, j'ai utilisé le Robot class pour cliquer sur le bouton Annuler.

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) Attendez que la bulle apparaisse. 

2) Ouvrez un nouvel onglet. 

3) Fermez le nouvel onglet. Le popup sera parti de l'onglet d'origine.

Une petite extension Chrome peut automatiser ces étapes:

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

});

Avec cette extension installée, lancez Chrome et changez immédiatement les applications avant que la fenêtre contextuelle ne s'affiche ... quelques secondes plus tard, la fenêtre contextuelle disparaîtra et vous ne la verrez plus lorsque vous revenez à Chrome.

1
jkdev

Pour ceux qui utilisent WebdriverIO , vous pouvez désactiver les extensions en créant votre client comme suit:

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

Je travaille sur Windows et j'ai essayé beaucoup de choses fournies ici comme réponse mais Pop-up désactivait l'extension en permanence, alors j'ai essayé de suivre les étapes suivantes et cela fonctionne maintenant:

  1. Allez sur chrome: // extensions page et cliquez sur le bouton Pack extension et sélectionnez votre répertoire racine d’extensions en cliquant sur le bouton de navigation rectangulaire en rouge affiché dans l’image ci-dessous.

 browse root directory of extension 

  1. après la sélection du répertoire racine Cliquez sur le bouton Pack extension affiché dans le cercle rouge dans l’image ci-dessous.

 enter image description here 

  1. Maintenant, dans le contrôle parent directory de votre root directory d'extension sélectionné, 2 fichier aurait créé [extension name].crx et [extension name].pem.

  2. Maintenant, glissez et déposez le fichier [extension name].crx sur la page de chrome: // extensions. Il vous demandera alors d’utiliser la boîte de dialogue Ajouter une application, de cliquer sur Add app et d’actualiser la page où il est installé.

Remarque: Avant de procéder comme indiqué ci-dessus, assurez-vous de activer le mode développeur pour les extensions . Si cela n'a pas été activé, actualisez la page chrome: // extensions après l'avoir activée.

0
Haritsinh Gohil

Je ne sais pas si c'est toujours un problème pour les gens. Cependant, j'ai lu ce post et plusieurs autres et j'ai finalement joué avec cela et j'ai pu le faire fonctionner en C # en utilisant ce code. J'ai tout dérivé de ce post et éventuellement quelques posts liés à ce post. 

J'espère que cela aide, il a certainement résolu mes problèmes dans l'application console C #.

Utilisation de la version 52.0.2743.116 m de 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