5
我想:C#/ ASP.NET硒的webdriver - 再使用cookie
- 登录到网站
- 保存Cookie
- 给用户一个选择做A,B或C
- A,B和C都需要进行登录。
- 每打开一个FirefoxDriver,做自己的事情
我想要做的是登录ONCE,保存来自该的cookie,并将它们添加到我想要打开的任何其他FirefoxDriver。
现在我想保存cookies在
public ReadOnlyCollection<Cookie> Cookies { get; set; }
这是
WebDriver.Manage().Cookies.AllCookies;
假设登录工作的结果和饼干上面的方法保存,我有这样的:
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(当你登录时总数) - 并且它们全部似乎设置好了。不知道我在做什么错
你检查过's'的内容了吗?他们包含哪些Cookie的所有值设置? – Arran
不确定你的意思,但是继承人截图(我们允许发布图片链接?)[[没有登录('s'的值):[http://i.imgur.com/P5weWDb.png]] [[已记录in(cookies即时通过):http://i.imgur.com/Hwyn07h.png]] –
使用调试器检查每个cookie,它是否有名称和值? – Arran