web-dev-qa-db-fra.com

Boîte de dialogue "Enregistrer le mot de passe pour ce site Web" avec ChromeDriver, malgré les nombreux commutateurs de ligne de commande essayant de supprimer ces fenêtres contextuelles

La boîte de dialogue "Enregistrer le mot de passe" s'affiche lors de la création d'un ChromeDriver comme ceci:

var options = new ChromeOptions();

options.AddArguments("chrome.switches", "--disable-extensions --disable-extensions-file-access-check --disable-extensions-http-throttling --disable-infobars --enable-automation --start-maximized");
var driver = new ChromeDriver(options);

Et naviguez vers un formulaire de connexion et soumettez-le.

Comment puis-je me débarrasser de la popup?

6
Anders Lindén

Vous devez ajouter ces préférences:

options.AddUserProfilePreference("credentials_enable_service", false);
options.AddUserProfilePreference("profile.password_manager_enabled", false);

Donc, votre code final ressemblera à ceci:

 var options = new ChromeOptions();

 options.AddArguments("chrome.switches", "--disable-extensions --disable-extensions-file-access-check --disable-extensions-http-throttling --disable-infobars --enable-automation --start-maximized");
 options.AddUserProfilePreference("credentials_enable_service", false);
 options.AddUserProfilePreference("profile.password_manager_enabled", false);
 var driver = new ChromeDriver(options);
15
TopGun

Voici cette même solution adaptée à Java, telle qu'utilisée dans mon code. L'adaptation était non triviale, donc partager ici au cas où d'autres utilisateurs de Java liraient ceci:

        ChromeOptions chOption = new ChromeOptions();
        chOption.addArguments("--disable-extensions");
        chOption.addArguments("test-type");
        Map<String, Object> prefs = new HashMap<String, Object>();
        prefs.put("credentials_enable_service", false);
        prefs.put("profile.password_manager_enabled", false);
        chOption.setExperimentalOption("prefs", prefs);
        driver = new ChromeDriver(chOption);
1
Mikhail Ramendik

Voici une implémentation pour les utilisateurs de Python:  

from Selenium import webdriver
from Selenium.webdriver.chrome.options import Options

chrome_options = Options()
chrome_options.add_experimental_option('prefs', {
    'credentials_enable_service': False,
    'profile': {
        'password_manager_enabled': False
    }
})
driver = webdriver.Chrome(chrome_options=chrome_options)
0
Abdul Moiz Farooq