web-dev-qa-db-ja.com

このようなポップアップを抑制しようとする多数のコマンドラインスイッチにもかかわらず、ChromeDriverの[このWebサイトのパスワードを保存]ダイアログ

次のようなChromeDriverを作成すると、「パスワードの保存」ダイアログが表示されます。

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

そして、ログインフォームに移動して送信します。

ポップアップを取り除くにはどうすればよいですか?

7
Anders Lindén

次の設定を追加する必要があります。

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

したがって、最終的なコードは次のようになります。

 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

これはPython users:の実装です

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

これは、私のコードで使用されている、Javaに適合した同じソリューションです。適応は簡単ではなかったので、他のJavaユーザーがこれを読んだ場合に備えてここで共有する:

        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