2013-11-23 58 views
3

我在Selenium中刪除/添加Cookie時遇到問題。我使用的是Windows 7和FireFox 25.0.1。我的代碼如下所示:在C#/ Selenium中管理Cookie

Instance = new FirefoxDriver(); 
Instance.Manage().Window.Maximize(); 

var _cookies = Instance.Manage().Cookies.AllCookies; 
Instance.Manage().Cookies.DeleteAllCookies(); 

foreach(Cookie cookie in _cookies) 
{ 
    Instance.Manage().Cookies.AddCookie(cookie); 
} 

var _newCookies = Instance.Manage().Cookies.AllCookies; //boom 

在最後一行,我收到異常「意外的問題獲取cookie」。我已經嘗試了上述代碼的幾個變體,並且在第二次調用AllCookies時發生了同樣的問題 - 即使在關閉並重新打開瀏覽器並調用GoToUrl(mysite)並重新添加Cookie後(當我保存Cookie時,瀏覽器仍在mysite上)。

我在訪問它之前檢查了cookies集合,它們都有名稱/值對。

有沒有人設法在Selenium for C#中成功使用cookie API,或者可以說我做錯了什麼?

回答

2

如果您的瀏覽器顯示要放置Cookie的域的頁面,則只能添加Cookie。

在丟棄cookie之前,您似乎沒有導航到URL。

+0

感謝您的協助。即使在調用「Navigate()。GoToUrl(my_domain)」時也會發生同樣的情況,然後再刪除cookie並添加它們。 – larryq

+0

我已經可以使用Chrome&C#來刪除Cookie。但是,這些是我剛剛創建的cookie,而不是讀取,刪除然後添加。當你只是添加cookie而不是先閱讀時會發生什麼? –