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