Cookies

Cookies play a significant role in web applications for maintaining session information and user preferences. Selenium provides methods to interact with cookies. Here are some common operations you can perform with cookies in Selenium:

Adding a Cookie

Using driver.manage().addCookie() method, you can add a specific cookie. If the cookie's domain name is left blank, it is assumed that the cookie is meant for the domain of the current document. If the path is blank, it will assume default path. If the expiry is blank, it will consider as no expiry.

Get All Cookies

The method driver.manage().getAllCookies() is used to get all the cookies for the current domain. It will return as a set of Cookie object.

Get a Specific Cookie

To get a specific cookie, use the method driver.manage().getCookieNamed("cookiename"). This will return a cookie object.

Deleting a Cookie

To delete a cookie, use the method driver.manage().deleteCookieNamed("cookiename") or driver.manage().deleteCookie(cookieObject). It will delete the cookie from the current domain. This is equivalent to setting the named cookie's expiry date to some time in the past.

Deleting All Cookies

Use the method driver.manage().deleteAllCookies() to delete all the cookies for the current domain.

The following example focus on the following:

  • Add two cookies.
  • Get all cookies.
  • Get cookie by name.
  • Delete cookie.
  • Finally delete all cookie.

Java
C#
Python
Javascript
Kotlin
Copy
WebDriver driver = new ChromeDriver();
driver.get("https://www.testautomationstudio.com/demo/home/");
driver.manage().timeouts().implicitlyWait(Duration.ofSeconds(30));
driver.manage().window().maximize();
System.out.println("Total cookies before creating 2 : " + driver.manage().getCookies().size());
//Creating cookies
Cookie cookie1 = new Cookie("cookie1", "Welcome1");
driver.manage().addCookie(cookie1);
Cookie cookie2 = new Cookie("cookie2", "Welcome2");
//Adding cookies
driver.manage().addCookie(cookie1);
driver.manage().addCookie(cookie2);
//Checking cookie size
System.out.println("Total cookies after creating 2 : " + driver.manage().getCookies().size());
//Getting all cookies and printing its name and value
Set<Cookie> cookieInfo = driver.manage().getCookies();
for (Cookie cookie : cookieInfo)
{
	System.out.println(cookie.getName() + " : " + cookie.getValue());
}
//Getting cookie by name
Cookie cookieByName = driver.manage().getCookieNamed("cookie1");
System.out.println("Getting cookie by name : " + cookieByName.getName() + " : " + cookieByName.getValue());
//Deleting cookie by name
driver.manage().deleteCookieNamed("cookie1");
//Deleting cookie by cookies object
driver.manage().deleteCookie(cookie1);
//Deleting all cookies
driver.manage().deleteAllCookies();
//Printing cookie size after deleting
System.out.println("Total cookies after deleting 2: " + driver.manage().getCookies().size());
driver.quit();
Copy
IWebDriver driver = new ChromeDriver();
driver.Url = "https://www.testautomationstudio.com/demo/home/";
driver.Manage().Timeouts().ImplicitWait = TimeSpan.FromSeconds(30);
driver.Manage().Window.Maximize();

Console.WriteLine("Total cookies before creating 2 : " + driver.Manage().Cookies.AllCookies.Count);
//Creating cookies
Cookie cookie1 = new Cookie("cookie1", "Welcome1");
driver.Manage().Cookies.AddCookie(cookie1);
Cookie cookie2 = new Cookie("cookie2", "Welcome2");
//Adding cookies
driver.Manage().Cookies.AddCookie(cookie1);
driver.Manage().Cookies.AddCookie(cookie2);
//Checking cookie size
Console.WriteLine("Total cookies after creating 2 : " + driver.Manage().Cookies.AllCookies.Count);
//Getting all cookies and printing its name and value
var cookieInfo = driver.Manage().Cookies.AllCookies;
foreach (Cookie cookie in cookieInfo)
{
    Console.WriteLine(cookie.Name + " : " + cookie.Value);
}
//Getting cookie by name
Cookie cookieByName = driver.Manage().Cookies.GetCookieNamed("cookie1");
Console.WriteLine("Getting cookie by name : " + cookieByName.Name + " : " + cookieByName.Value);
//Deleting cookie by name
driver.Manage().Cookies.DeleteCookieNamed("cookie1");
//Deleting cookie by cookies object
driver.Manage().Cookies.DeleteCookie(cookie1);
//Deleting all cookies
driver.Manage().Cookies.DeleteAllCookies();
//Printing cookie size after deleting
Console.WriteLine("Total cookies after deleting 2: " + driver.Manage().Cookies.AllCookies.Count);

driver.Quit();
Python code coming soon
Javascript code coming soon
Kotlin code coming soon