- driver.get_cookies() 获得cookie信息
- add_cookie(cookie_dict) 向cookie添加会话信息
- delete_cookie(name) 删除特定(部分)的cookie
- delete_all_cookies() 删除所有cookie
51Testing软件测试网5Wc,|h`D ^k
?
通过webdriver 操作cookie 是一件非常有意思的事儿,有时候我们需要了解浏览器中是否存在了某个cookie 信息,webdriver 可以帮助我们读取、添加,删除cookie信息。
Of7y.w9xZ
]G0
,{tohZ|0
)p-~O
W#};_2i7E0打印cookie信息
,f.I}ll!h%od1K6II#G0 51Testing软件测试网,[E,y7F/x``5kT;gh
#coding=utf-8fromseleniumimportwebdriverimporttime
driver=webdriver.Chrome()
driver.get("http://www.youdao.com")#获得cookie信息cookie=driver.get_cookies()#将获得cookie的信息打印printcookie
driver.quit()
o/Rgj(s~
f%E0运行打印信息:51Testing软件测试网)di `EZ+VU
[{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}]
51Testing软件测试网U#j.WA ute4y
cV
` p6`p |r
y0对cookie的操作51Testing软件测试网r+r#[
BiP q$M9F;@;Pt
51Testing软件测试网)W"}x ](h2W}&X:b
上面的方式打印了所有cookie信息表,太多太乱,我们只想有真对性的打印自己想要的信息,看下面的例子51Testing软件测试网4{)tK;d,?Y4o*|4m$P?L
#coding=utf-8fromseleniumimportwebdriverimporttime
driver=webdriver.Firefox()
driver.get("http://www.youdao.com")#向cookie的name 和value添加会话信息。driver.add_cookie({'name':'key-aaaaaaa','value':'value-bbbb'})#遍历cookies中的name 和value信息打印,当然还有上面添加的信息forcookieindriver.get_cookies():print"%s -> %s"% (cookie['name'], cookie['value'])#下面可以通过两种方式删除cookie#删除一个特定的cookiedriver.delete_cookie("CookieName")#删除所有cookiedriver.delete_all_cookies()
time.sleep(2)
driver.close()
51Testing软件测试网5A_ ]{d运行打印信息:
[&e!UEY;sq$l0YOUDAO_MOBILE_ACCESS_TYPE -> 1
_PREF_ANONYUSER__MYTH -> aGFzbG9nZ2VkPXRydWU=
OUTFOX_SEARCH_USER_ID -> -1046383847@218.17.158.115
JSESSIONID -> abc7qSE_SBGsVgnVLBvcu
key-aaaaaaa -> value-bbbb # 这一条是我们自己添加的
51Testing软件测试网8~e x_(W)v&cD*k 51Testing软件测试网$QF5TXs;_*V&x
C(z8KM"~*EB0 51Testing软件测试网Ap!J0dK;v+[3[]
8D ?!Mj5B"~v"c%b0
C*TAxd.w3c`6lFD0通过博客园登陆来分析cookie
0jfOK0PJ#J0 51Testing软件测试网+V|2n
`_
#coding=utf-8fromseleniumimportwebdriverimporttime
driver=webdriver.Firefox()
driver.get("http://passport.cnblogs.com/login.aspx?ReturnUrl=http://www.cnblogs.com/fnng/admin/EditPosts.aspx")
time.sleep(3)
driver.maximize_window()#浏览器全屏显示#通过用户名密码登陆driver.find_element_by_id("tbUserName").send_keys("fnngj")
driver.find_element_by_id("tbPassword").send_keys("123456")#勾选保存密码driver.find_element_by_id("chkRemember").click()
time.sleep(3)#点击登陆按钮driver.find_element_by_id("btnLogin").click()#获取cookie信息并打印cookie=driver.get_cookies()printcookie
time.sleep(2)
driver.close()
51Testing软件测试网YP5g7b.e(u nt+Z运行打印信息:
-GdMr`4~)[&t0#第一次执行信息
>>>
[{u'domain': u'.cnblogs.com', u'name': u'.DottextCookie', u'value': u'C709F15A8BC0B3E8D9AD1F68B371053849F7FEE31F73F1292A150932FF09A7B0D4A1B449A32A6B24AD986CDB05B9998471A37F39C3B637E85E481AA986D3F8C187D7708028F9D4ED3B326B46DC43B416C47B84D706099ED1D78B6A0FC72DCF948DB9D5CBF99D7848FDB78324', u'expiry': None, u'path': u'/', u'secure': False}]
>>> ========================= RESTART ================================
#第二次执行信息
>>>
[{u'domain': u'.cnblogs.com', u'name': u'.DottextCookie', u'value': u'5BB735CAD62E99F8CCB9331C32724E2975A0150D199F4243AD19357B3F99A416A93B2E803F4D5C9D065429713BE8B5DB4ED760EDCBAF492EABE2158B3A6FBBEA2B95C4DA3D2EFEADACC3247040906F1462731F652199E2A8BEFD8A9B6AAE87CF3059A3CAEB9AB0D8B1B7AD2A', u'expiry': 1379502502, u'path': u'/', u'secure': False}]
>>>
YW#CvHU$p4\0第一次注释掉勾选保存密码的操作,第二次通过勾选保存密码获得cookie信息 ;来看两次运行结果的cookie的何不同:51Testing软件测试网(g}ws!sNm
u'expiry': None51Testing软件测试网U1U*U s.wb+@
u'expiry': 1379502502
2H9l,@7\WkIi0通过对比发现,不勾选保存密码时expiry 的值为none ; 那么就可以初步判断勾选保存密码的操作在cookie 中起到了作用。至于是否准确可以再做进一步的分析。
_
o%@M-fB#NT0原文地址:http://www.haogongju.net/art/2215974
aHE0ou
p%tXD0
%i2f
o
gyz0