我想要:
- 登录网站
- 保存 Cookie
- 让用户选择做 A、B 或 C
- A、B 和 C 都需要登录。
- 每个人都会打开一个 FirefoxDriver 并做自己的事情
我想要做的是登录一次,从中保存 cookie,然后将它们添加到我想打开的任何其他 FirefoxDriver 中。
现在我正在尝试将cookie保存在
public ReadOnlyCollection<Cookie> Cookies { get; set; }
这是结果
WebDriver.Manage().Cookies.AllCookies;
假设登录有效并且cookies保存在上面,我有这个:
WebDriver = new FirefoxDriver();
WebDriver.Navigate().GoToUrl("http://www.example.com");
if (cookies != null)
{
var s = WebDriver.Manage().Cookies; //Logged out cookies
WebDriver.Manage().Cookies.DeleteAllCookies(); //Delete all of them
var sd = WebDriver.Manage().Cookies; //Make sure theyre deleted
foreach (var cookie in cookies)
{
WebDriver.Manage().Cookies.AddCookie(cookie);
}
var ss = WebDriver.Manage().Cookies;
WebDriver.Navigate().GoToUrl("http://example.com/requiresloginpage");
}
问题是,但是在这种情况下超过“ss”会给出这个异常错误
AllCookies = 'ss.AllCookies' threw an exception of type
'OpenQA.Selenium.WebDriverException'
base {System.Exception} = {"Unexpected problem getting cookies"}
InnerException = {"Cookie name cannot be null or empty string\r\nParameter name: name"}
我传递了 8 个 cookie(您登录时的总数)——所有这些 cookie 看起来都设置好了。不知道我做错了什么