我们如何删除Selenium中的所有域cookie?

时间:2013-03-31 05:24:25

标签: java selenium webdriver

我的要求是使用Selenium WebDriver删除所有Cookie(所有域名)Cookie。但在selenium中,我们只能删除域cookie。所以我正在尝试使用Ctrl + Shift + Delete的按键事件。

我在这里尝试过如下。 Actions action = new Actions(webdriver); action.keyDown(Keys.CONTROL).keyDown(Keys.SHIFT).sendKeys(Keys.DELETE).perform(); 但它没有显示任何浏览器警报?

在这种情况下,有人可以帮助我吗?或删除所有域cookie的任何替代解决方案?

1 个答案:

答案 0 :(得分:0)

使用以下java代码删除cookie。

protected void deleteCookie(String cookieName)
{
String cookieDomain =
CTPropertiesManager.getProperty("site.properties","site.cookie.domain");

try
{
//get all cookies
Cookie cookies[] = request.getCookies();

Cookie ctCookie=null;
if (cookies !=null)
{
for(int i=0; i<cookies.length; i++)
{
ctCookie=cookies[i];
if (ctCookie.getName().trim().equals(cookieName))
{
if ( cookieDomain != null )
{
ctCookie.setDomain(cookieDomain);
}

ctCookie.setPath("/ct");
ctCookie.setMaxAge(0);
response.addCookie(ctCookie);
}
}//end for
}//end if cookie
}//end try
catch(Exception e){
CTLogManager.log(e);
}
}//end deleteCookie()