在使用Selenium和Java运行测试时,每次登录网站时都会出现这个恼人的弹出窗口“你想让Chrome保存你的密码吗?”。这个表阻止了Selenium正在寻找的内容,因此找不到我下面的元素,并且测试失败。
我知道你可以进入高级设置并取消选中我所做的框。但是,它仍然显示窗口弹出窗口。我猜这是因为我们每次都启动一个新的Chrome,因此Chrome不记得以前的选项。 Chrome正在通过Selenium和Java启动。
有没有办法在没有密码窗口的情况下启动Chrome?或许是一面旗帜?
我正在使用Chrome 57.有人使用Chrome 55并让我使用它,但Chrome会自动更新,因此会重置为57.我认为这不重要吗?
答案 0 :(得分:1)
要启动Chrome停用密码管理器,您需要:
从this link下载并使用最新的Chrome驱动程序。
添加首选项&代码的选项如下:
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");
如果这有助于您,请告诉我。
答案 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);