启动chrome而不要求保存密码窗口

时间:2017-04-17 14:36:12

标签: google-chrome selenium

在使用Selenium和Java运行测试时,每次登录网站时都会出现这个恼人的弹出窗口“你想让Chrome保存你的密码吗?”。这个表阻止了Selenium正在寻找的内容,因此找不到我下面的元素,并且测试失败。

我知道你可以进入高级设置并取消选中我所做的框。但是,它仍然显示窗口弹出窗口。我猜这是因为我们每次都启动一个新的Chrome,因此Chrome不记得以前的选项。 Chrome正在通过Selenium和Java启动。

有没有办法在没有密码窗口的情况下启动Chrome?或许是一面旗帜?

我正在使用Chrome 57.有人使用Chrome 55并让我使用它,但Chrome会自动更新,因此会重置为57.我认为这不重要吗?

2 个答案:

答案 0 :(得分:1)

要启动Chrome停用密码管理器,您需要:

  1. this link下载并使用最新的Chrome驱动程序。

  2. 添加首选项&代码的选项如下:

    System.setProperty("webdriver.chrome.driver", "C:\\SeleniumUtilities\\BrowserDrivers\\chromedriver.exe");
    Map<String, Object> prefs = new HashMap<String, Object>();
    prefs.put("profile.default_content_setting_values.notifications", 2);
    prefs.put("credentials_enable_service", false);
    prefs.put("profile.password_manager_enabled", false);
    ChromeOptions options = new ChromeOptions();
    options.setExperimentalOption("prefs", prefs);
    DesiredCapabilities capabilities = DesiredCapabilities.chrome();
    capabilities.setCapability(ChromeOptions.CAPABILITY, options);
    WebDriver driver = new ChromeDriver(capabilities);
    driver.get("http:\\gmail.com");
    
  3. 如果这有助于您,请告诉我。

答案 1 :(得分:1)

添加以下偏好设置:

Map<String, Object> prefs = new HashMap<String, Object>();
prefs.put("credentials_enable_service", false);
prefs.put("password_manager_enabled", false); 
options.setExperimentalOption("prefs", prefs);