【问题标题】:Retrieving 3rd party and All Cookies using Selenium Webdriver Java使用 Selenium Webdriver Java 检索第 3 方和所有 Cookie
【发布时间】:2012-05-20 06:54:06
【问题描述】:

我想使用 selenium webdriver xx.21 和 java 从 URl 检索所有 cookie 名称和域,

我正在使用以下代码:

driver.navigate().to("http://www.nextag.com");
Set<Cookie> cookies = driver.manage().getCookies();
Iterator<Cookie> itr = cookies.iterator();

    while (itr.hasNext()){
    Cookie c = itr.next();
    System.out.println("Cookie Name: " + c.getName() + " --- " + "Cookie Domain: " + c.getDomain() + " --- " + "Cookie Value: " + c.getValue());
    }

从上面的代码中,我只得到了一些,但是当我手动检查时,还有一些 cookie 必须被广告丢弃,例如 (scorecardresearch.com) cookie 这是预期的,如何通过硒代码获得所有这些? 任何答案都会非常有帮助。谢谢你

【问题讨论】:

  • driver.manage().getCookies() 将仅返回与当前加载的域关联的 cookie。我不相信 selenium 中有任何本机支持的方法来删除或检索所有 cookie。使用 javascript 也将不成功。安全限制不允许您从其他网站提取 cookie。
  • 嗨,感谢 q 的回复,-但是来自同一个域的只有其他 cookie 来了!!
  • 这仍然是个问题吗?因为如果您使用的是 Firefox WebDriver,我有一个解决方案......(已经有一段时间了,所以也许您找到了解决方法?)
  • @jcovert 你能分享你的解决方案吗?我想访问第 3 方 cookie,但尚未找到解决方案。

标签: java cookies selenium webdriver


【解决方案1】:

使用 Mozilla firefox add-on 可以解决此问题,它将所有 cookie 以 XML 格式保存在当前配置文件目录下。此插件将保存来自所有域的 cookie,并且可以使用 webdriver 访问。

有关使用 C# 实现的更多详细信息,请参阅以下博客:http://automationoverflow.blogspot.in/2013/07/getting-cookies-from-all-domains.html

【讨论】:

    猜你喜欢
    • 2013-04-14
    • 2020-04-21
    • 2019-09-06
    • 1970-01-01
    • 2018-02-26
    • 2019-02-09
    • 1970-01-01
    • 2018-01-21
    • 1970-01-01
    相关资源
    最近更新 更多