【问题标题】:Getting or Manipulating all cookies in Selenium Webdriver获取或操作 Selenium Webdriver 中的所有 cookie
【发布时间】:2012-11-04 11:23:45
【问题描述】:
尝试使用带有 Python(或 Java)的 Chromedriver 来处理 cookie。
我知道了
for cookie in browser.get_cookies():
print(cookie['name'] + ' --> ' + cookie['value'])
仅向我提供与我的浏览器所在的活动页面相关的 cookie。
我有什么方法可以使用 Selenium 或本机 Python(在 Ubuntu 上,如果我需要进入文件系统),在我的活动 selenium 会话中获取所有 cookie?
【问题讨论】:
标签:
python
cookies
selenium
selenium-webdriver
【解决方案1】:
你为什么不直接使用一些带有 cookie 检查的 http 库
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
【解决方案2】:
您可以提供一个用户目录并从那里提取 cookie。
co = webdriver.ChromeOptions()
co.add_argument("--user-data-dir=userdir")
browser = webdriver.Chrome(chrome_options = co)
cookies 最终会保存在userdir/Default/Cookies 中,这是一个 SQLite3 数据库。