Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Getting or Manipulating all cookies in Selenium Webdriver

Trying to mess with cookies using Chromedriver with Python (or Java).

I've figured out that

for cookie in browser.get_cookies():
    print(cookie['name'] + ' --> ' + cookie['value'])

only gives me the cookies relevant to the active page my browser's on.

Is there any method I can, using either Selenium or native Python (on Ubuntu, if I need to go into the file system), get all of the cookies on my active selenium session?

like image 230
Fal-Cone Avatar asked Nov 15 '12 19:11

Fal-Cone


People also ask

Can we manipulate cookies in Selenium?

There is no explicit way to edit a cookie. You need to delete the old one and create the new cookie with updated data.

Which Selenium method is used to retrieve all cookies from the web page?

get_cookies() is a built-in method in Selenium WebDriver which allows us to retrieve all cookies from the current browsing context.


1 Answers

You can provide a userdir and extract the cookies from there.

co = webdriver.ChromeOptions()
co.add_argument("--user-data-dir=userdir")
browser = webdriver.Chrome(chrome_options = co) 

The cookies will end up in userdir/Default/Cookies which is an SQLite3 database.

like image 55
Michael W Avatar answered Oct 13 '22 03:10

Michael W