次のような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);
そして、ログインフォームに移動して送信します。
ポップアップを取り除くにはどうすればよいですか?
次の設定を追加する必要があります。
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);
これは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)
これは、私のコードで使用されている、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);