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



如果输入用户名和密码,则使用硒自动化为什么不 Chrome浏览器显示像常规一样保存凭据的选项 实践。

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

你能做的是:

  1. 当您第一次启动WebDriver并打开登录页面时,使用selenium输入凭据,确保您选中"记住详细信息"复选框。

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

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

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

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

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

如果您希望它保存cookie和缓存,您将A(必须在代码中指定这一点,B(您必须围绕已保存密码的事实进行测试,因此,如果您将测试移动到另一台计算机上,浏览器缓存将有所不同,您的测试将不再起作用。

实际上,网络驱动程序在没有cookie的情况下打开浏览器。 如果您需要保存您的 cookie,您可以使用以下命令,

driver.manage().getCookieNamed(String arg);
driver.manage().getCookies();
driver.manage().getCookies().add(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);

相关内容

  • 没有找到相关文章

最新更新