所谓"cookie"数据是指某些网站为了辨别用户身份,储存在用户本地终端上的数据(通常经过加密),由用户客户端计算机暂时或永久保存的信息。通俗来讲就是指缓存数据,包括用户名、密码、注册账户、手机号等公民个人信息。
在Web自动化测试时,我们也经常需要对其进行操作。WebDriver 提供了操作Cookie 的相关方法,可以读取、添加和删除Cookie。
- get_cookies():获得所有Cookie。
- get_cookie(name):返回字典中key 为“name”的Cookie。
- add_cookie(cookie_dict):添加 Cookie。
- delete_cookie(name,optionsString):删除名为OpenString 的Cookie。
- delete_all_cookies():删除所有Cookie。
下面演示获取Cookie的例子:
from selenium import webdriver
driver = webdriver.Chrome()
driver.get("https://www.baidu.com")
cookie = driver.get_cookies()print(cookie)
输出结果:
[{'domain':'.baidu.com', 'expiry':1710999942, 'httpOnly': False, 'name':'ZFY', 'path':'/', 'sameSite':'None', 'secure': True, 'value':'5TDf3q2vQLOhtOlIeMreqw:BNA:BJez0dmV:BUyJhfE7Bc:C'}, {'domain':'.baidu.com', 'expiry':1710999942, 'httpOnly': False, 'name':'BAIDUID_BFESS', 'path':'/', 'sameSite':'None', 'secure': True, 'value':'E2AC53CFF73B1CAAC114CB9B0640C564:FG=1'}, {'domain':'.baidu.com', 'expiry':1679550342, 'httpOnly': False, 'name':'BA_HECTOR', 'path':'/', 'sameSite':'Lax', 'secure': False, 'value':'88ak20242h842k6k0l2h0k471i1l5g71m'}, {'domain':'.baidu.com', 'httpOnly': False, 'name':'H_PS_PSSID', 'path':'/', 'sameSite':'Lax', 'secure': False, 'value':'36548_38411_38113_38345_38308_37861_38172_38289_37934_38429_38315_38382_38285_26350_37881'}, {'domain':'.baidu.com', 'expiry':1710999942, 'httpOnly': False, 'name':'BAIDUID', 'path':'/', 'sameSite':'Lax', 'secure': False, 'value':'E2AC53CFF73B1CAAC114CB9B0640C564:FG=1'}, {'domain':'.baidu.com', 'expiry':1714023942, 'httpOnly': False, 'name':'BIDUPSID', 'path':'/', 'sameSite':'Lax', 'secure': False, 'value':'E2AC53CFF73B1CAA7D819DBC1B3E4687'}, {'domain':'.baidu.com', 'expiry':1714023942, 'httpOnly': False, 'name':'PSTM', 'path':'/', 'sameSite':'Lax', 'secure': False, 'value':'1679463942'}, {'domain':'www.baidu.com', 'expiry':1680327942, 'httpOnly': False, 'name':'BD_UPN', 'path':'/', 'sameSite':'Lax', 'secure': False, 'value':'12314753'}, {'domain':'www.baidu.com', 'httpOnly': False, 'name':'BD_HOME', 'path':'/', 'sameSite':'Lax', 'secure': False, 'value':'1'}]
通过
add_cookie()
方法添加cookie,再遍历打印key为name和value的cookie查看是否添加成功
from selenium import webdriver
driver = webdriver.Chrome()
driver.get("https://www.baidu.com")
driver.add_cookie({'name':'selenium3','value':'valuenmn'})for cookie in driver.get_cookies():print("%s -> %s"%(cookie['name'],cookie['value']))
输出结果:
selenium3 -> valuenmn
ZFY -> SL9Gqd62FbUrYLZ5KzJyN8nxCCdvXdINkb4MaH:AK:Ams:C
BA_HECTOR -> 0o0l2001ah8g0kel00agak7e1i1kurp1n
BAIDUID_BFESS -> 03E0C411471493CF023574C6EBD7447E:FG=1
H_PS_PSSID -> 36551_38106_38348_38437_38404_37861_38174_38289_38236_38261_37934_38315_38285_26350_38423_37881
BAIDUID -> 03E0C411471493CF023574C6EBD7447E:FG=1
BIDUPSID -> 03E0C411471493CFB091860823A4D49C
PSTM ->1679457144
BD_UPN ->12314753
BD_HOME ->1
由以上输出可以看到,我们自定义的cookie已成功添加。
通过
delete_cookie()
方法删除cookie
from selenium import webdriver
driver = webdriver.Chrome()
driver.get("https://www.baidu.com")
driver.delete_cookie("selenium3")for cookie in driver.get_cookies():print("%s -> %s"%(cookie['name'],cookie['value']))
输出结果:
ZFY -> zpXBRMm1yB4Pxzboo68YIDBXz0oJPZX:Bcc4vmtwfgsU:C
BA_HECTOR -> 0900812lag0h25c42k24a46s1i1l8241m
BAIDUID_BFESS -> 97E47471DBB02832119466C2B2D8E867:FG=1
H_PS_PSSID ->36546_38345_38359_38397_38171_38289_38377_38262_37928_38314_38383_38285_26350_37958_22158_37881
BAIDUID -> 97E47471DBB02832119466C2B2D8E867:FG=1
BIDUPSID -> 97E47471DBB0283262EA5338CEF36C06
PSTM ->1679466564
BD_UPN ->12314753
BD_HOME ->1
由以上的输出可以看到刚刚添加的cookie已经被删除。
以上就是本期文章的所有内容,感谢观看,如果对您有帮助请点赞关注+收藏,一键三连,多谢支持!
版权归原作者 牛油菠蘿包 所有, 如有侵权,请联系我们删除。