问题
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?
回答1:
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.
回答2:
Why don't you just use some http libraries with cookie inspection
import urllib2
import cookielib
cookieJar = cookielib.CookieJar()
opener = urllib2.build_opener(urllib2.HTTPCookieProcessor(cookieJar),urllib2.HTTPHandler())
opener.get_method = lambda: 'GET'
request = urllib2.Request('http://stackoverflow.com/')
response = opener.open(request)
for cookie in cookieJar:
print cookie
来源:https://stackoverflow.com/questions/13404670/getting-or-manipulating-all-cookies-in-selenium-webdriver