【问题标题】: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
    

    【讨论】:

    • 这是关于 Selenium 而不是另一个库。
    【解决方案2】:

    您可以提供一个用户目录并从那里提取 cookie。

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

    cookies 最终会保存在userdir/Default/Cookies 中,这是一个 SQLite3 数据库。

    【讨论】:

      猜你喜欢
      • 2013-07-17
      • 1970-01-01
      • 2013-04-14
      • 1970-01-01
      • 2020-12-05
      • 2018-07-01
      • 1970-01-01
      • 2012-08-18
      • 2014-03-08
      相关资源
      最近更新 更多