webdriver cookie 处理 selenium_python

来源:互联网 发布:淘宝客服数据在哪看 编辑:程序博客网 时间:2024/06/05 20:00

有时候我们需要验证浏览器中是否存在某个cookie,因为基于真实的cookie 的测试是无法通过白盒和集成测试完成的。webdriver 可以读取、添加和删除cookie 信息。
webdriver 操作cookie 的方法有:

 get_cookies() 获得所有cookie 信息
 get_cookie(name) 返回特定name 有cookie 信息
 add_cookie(cookie_dict) 添加cookie,必须有name 和value 值
 delete_cookie(name) 删除特定(部分)的cookie 信息
 delete_all_cookies() 删除所有cookie 信息

通过webdriver 操作cookie 是一件非常有意思的事儿,有时候我们需要了解浏览器中是否存在了某个cookie 信息,webdriver 可以帮助我们读取、添加,删除cookie 信息。

打印cookie 信息

#coding=utf-8from selenium import webdriverimport timedriver = webdriver.Chrome()driver.get("http://www.youdao.com")# 获得cookie 信息cookie= driver.get_cookies()#将获得cookie 的信息打印print cookiedriver.quit()

运行打印信息:

[{u'domain': u'.youdao.com', u'secure': False, u'value':u'aGFzbG9nZ2VkPXRydWU=', u'expiry': 1408430390.991375, u'path': u'/',u'name': u'_PREF_ANONYUSER__MYTH'}, {u'domain': u'.youdao.com', u'secure':False, u'value': u'1777851312@218.17.158.115', u'expiry':2322974390.991376, u'path': u'/', u'name': u'OUTFOX_SEARCH_USER_ID'},{u'path': u'/', u'domain': u'www.youdao.com', u'name': u'JSESSIONID',u'value': u'abcUX9zdw0minadIhtvcu', u'secure': False}]

对cookie 操作
上面的方式打印了所有cookie 信息,太多太乱,我们只想有真对性的打印自己想要的信息,看下面的例子:

#coding=utf-8from selenium import webdriverimport timedriver = webdriver.Firefox()driver.get("http://www.youdao.com")#向cookie 的name 和value 添加会话信息。driver.add_cookie({'name':'key-aaaaaaa', 'value':'value-bbbb'})#遍历cookies 中的name 和value 信息打印,当然还有上面添加的信息for cookie in driver.get_cookies():print "%s -> %s" % (cookie['name'], cookie['value'])##### 下面可以通过两种方式删除cookie ###### 删除一个特定的cookiedriver.delete_cookie("CookieName")# 删除所有cookiedriver.delete_all_cookies()time.sleep(2)driver.close()

运行打印信息:

YOUDAO_MOBILE_ACCESS_TYPE -> 1_PREF_ANONYUSER__MYTH -> aGFzbG9nZ2VkPXRydWU=OUTFOX_SEARCH_USER_ID -> -1046383847@218.17.158.115JSESSIONID -> abc7qSE_SBGsVgnVLBvcukey-aaaaaaa -> value-bbbb # 这一条是我们自己添加的
1 0
原创粉丝点击