为什么Chrome在运行自动化脚本时不显示“保存密码”或“记住密码”选项?

时间:2018-10-26 10:42:12

标签: selenium selenium-webdriver automation selenium-chromedriver

如果输入用户名和密码时使用selenium自动执行,为什么不输入   chrome浏览器显示了保存凭据的选项,就像常规一样   练习。

3 个答案:

答案 0 :(得分:0)

由于网络驱动程序的工作方式,它会删除所有cookie /信息缓存,这些信息可能会意外导致测试失败,您会注意到它无法打开普通的浏览器,它通常是轻量级的浏览器。浏览器。

如果您希望它保存Cookie和缓存,则将A)必须在代码中指定; B)您必须围绕已保存密码的事实进行测试,因此,如果将测试移至其他位置计算机,浏览器的缓存将有所不同,并且您的测试将不再起作用。

答案 1 :(得分:0)

如先前的回答所述,WebDriver的新实例将打开新的浏览器窗口,而没有以前的cookie等。

您能做的是:

  1. 首次启动WebDriver并打开登录页面时,使用硒输入凭据,请确保选中“记住详细信息”复选框。

  2. 现在登录后,您可以使用以下方法从浏览器获取cookie:

driver.manage().getCookies();
  1. 您可以获取所有cookie并将其保存在例如文本文件中。

  2. 下次打开新的浏览器时,在打开页面之前,请加载先前保存的cookie。

driver.manage().getCookies().add(cookie);

答案 2 :(得分:0)

实际上,Webdriver打开了没有Cookie的浏览器。如果您需要保存Cookie,则可以使用以下命令,

 driver.manage().getCookieNamed(String arg);
   driver.manage().getCookies();
   driver.manage().getCookies().add(cookie);

这三个都用于获取和保存Cookie。

如果浏览器显示弹出窗口,请保存。用户名和密码使用可以使用此功能,

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