【问题标题】:Unable to handle password notification in Google Chrome无法在 Google Chrome 中处理密码通知
【发布时间】:2018-01-31 11:10:25
【问题描述】:

我正在使用以下代码,但无法处理密码通知(在 Google Chrome 中):

ChromeOptions options = new ChromeOptions();
//options.setExperimentalOption("credentials_enable_service", false);
options.setExperimentalOption("profile.password_manager_enabled", false);

System.setProperty("webdriver.chrome.driver","C:\\Users\\Prashant\\Downloads\\chromedriver.exe");
driver = new ChromeDriver(options);

错误信息-

线程“主”org.openqa.selenium.WebDriverException 中的异常: 未知错误:无法解析功能:来自未知的 chromeOptions 错误:无法识别的 chrome 选项:profile.password_manager_enabled。

【问题讨论】:

  • 线程“主”org.openqa.selenium.WebDriverException 中的异常:未知错误:无法解析功能:来自未知错误的 chromeOptions:无法识别的 chrome 选项:profile.password_manager_enabled。以上是错误信息
  • 我可以知道您为什么需要设置选项吗?如果你禁用它,那么它应该可以工作。
  • 我按照你的方法试过了。但它没有用。我搜索了禁用通知的方法,发现上面提到的代码在实例化 ChromeDriver 时需要传递 ChromeOption 对象,但我的目标仍然没有实现

标签: java google-chrome selenium


【解决方案1】:

在使用Selenium 3.xchromedriver v2.31Google Chrome 60.x 时,您可以考虑使用Map 接口并将其转换为HashMap 以将参数 credentials_enable_serviceprofile.password_manager_enabled 都设置为 false,如下所示:

import java.util.HashMap;
import java.util.List;
import java.util.Map;        

System.setProperty("webdriver.chrome.driver", "C:\\Utility\\BrowserDrivers\\chromedriver.exe");
Map<String, Object> prefs = new HashMap<String, Object>();
prefs.put("credentials_enable_service", false);
prefs.put("profile.password_manager_enabled", false);
ChromeOptions options = new ChromeOptions();
options.setExperimentalOption("prefs", prefs);
options.addArguments("start-maximized");
options.addArguments("disable-infobars");
options.addArguments("--disable-extensions");
WebDriver driver = new ChromeDriver(options);
driver.navigate().to("https://google.com");

【讨论】:

    猜你喜欢
    • 2019-08-17
    • 2017-05-15
    • 2012-08-25
    • 2021-03-03
    • 1970-01-01
    • 2017-08-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多