使用 Selenium WebDriver Java 绑定清除浏览器 Cookie

Posted

技术标签:

【中文标题】使用 Selenium WebDriver Java 绑定清除浏览器 Cookie【英文标题】:Clear browser Cookies with Selenium WebDriver Java bindings 【发布时间】:2016-05-26 00:33:59 【问题描述】:

有谁知道在开始自动化之前是否可以清除 WebDriver 的浏览器 Cookie? (注意:不是 Selenium RC)

【问题讨论】:

【参考方案1】:

是的,有可能

driver.manage().deleteAllCookies();

在创建新的 WebDriver 实例后立即调用它。

WebDriver driver = new ChromeDriver();
driver.manage().deleteAllCookies();

您也可以一一删除cookies

Set<Cookie> allCookies = driver.manage().getCookies();
for (Cookie cookie : allCookies) 
    driver.manage().deleteCookieNamed(cookie.getName());

【讨论】:

是否可以从另一个(跨)域中删除 cookie? 注意:默认情况下,新的 WebDriver 实例以全新的配置文件开始,并且没有 cookie @PranavBilurkar for ChromeDriver - 是的,看我的回答。 在创建新的 WebDriver 实例后立即调用它。 - 你可以在运行过程中使用它吗?您能否删除特定域的所有 cookie,同时让其他 cookie 保持不变?【参考方案2】:

这对你有用吗?

driver.manage().deleteAllCookies();

【讨论】:

【参考方案3】:

ChromeDriver 提供了一种清除所有网站/域的 cookie 的方法:

driver.ExecuteChromeCommand("Storage.clearCookies", new Dictionary<string, object>())

【讨论】:

以上是关于使用 Selenium WebDriver Java 绑定清除浏览器 Cookie的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 Java 在 selenium webdriver 中打开新选项卡,或者如何使用 selenium webdriver 使用动作类在 selenium 中按 ctrl + T [重复]

如何使用selenium webdriver来判断一个网页加载完毕

Selenium & webdriver.io 如何使用 executeScript?

Selenium WebDriver的使用

Selenium Webdriver概述

使用 Java 在 Selenium WebDriver (selenium 2) 中处理警报