如果输入用户名和密码时使用selenium自动执行,为什么不输入 chrome浏览器显示了保存凭据的选项,就像常规一样 练习。
答案 0 :(得分:0)
由于网络驱动程序的工作方式,它会删除所有cookie /信息缓存,这些信息可能会意外导致测试失败,您会注意到它无法打开普通的浏览器,它通常是轻量级的浏览器。浏览器。
如果您希望它保存Cookie和缓存,则将A)必须在代码中指定; B)您必须围绕已保存密码的事实进行测试,因此,如果将测试移至其他位置计算机,浏览器的缓存将有所不同,并且您的测试将不再起作用。
答案 1 :(得分:0)
如先前的回答所述,WebDriver的新实例将打开新的浏览器窗口,而没有以前的cookie等。
您能做的是:
首次启动WebDriver并打开登录页面时,使用硒输入凭据,请确保选中“记住详细信息”复选框。
现在登录后,您可以使用以下方法从浏览器获取cookie:
driver.manage().getCookies();
您可以获取所有cookie并将其保存在例如文本文件中。
下次打开新的浏览器时,在打开页面之前,请加载先前保存的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);