【问题标题】:Managing cookies in C# / Selenium在 C# / Selenium 中管理 cookie
【发布时间】:2014-03-10 11:28:01
【问题描述】:

我在 Selenium 中删除/添加 cookie 时遇到问题。我使用的是 Windows 7 和 FireFox 25.0.1。我的代码如下所示:

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 之后(浏览器在 @987654324 @当我保存cookies时)。

我在访问之前检查了 cookie 集合,它们都有名称/值对。

有没有人成功地在 Selenium for C# 中使用 cookie API,或者可以说我做错了什么?

【问题讨论】:

  • 尝试在添加新的每个步骤中获取并读取所有Cookies,这将帮助您了解每个确切的cookie您有问题

标签: c# selenium


【解决方案1】:

只有当您的浏览器显示您要在其上放置 cookie 的域的页面时,您才能添加 cookie。

在删除 cookie 之前,您似乎没有导航到 URL。

【讨论】:

  • 感谢您的帮助。即使在删除 cookie 并随后添加它们之前调用 Navigate().GoToUrl(my_domain) 也会发生同样的事情。
  • 我已经能够使用 Chrome 和 C# 来删除 cookie。但是,这些是我刚刚创建的 cookie,而不是读取、删除然后添加的 cookie。当您只添加 cookie 而不是先读取时会发生什么?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-09-06
  • 1970-01-01
  • 1970-01-01
  • 2010-12-30
  • 1970-01-01
相关资源
最近更新 更多