0


【Selenium自动化测试】操作Cookie

所谓"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已经被删除。

以上就是本期文章的所有内容,感谢观看,如果对您有帮助请点赞关注+收藏,一键三连,多谢支持!

标签: selenium chrome python

本文转载自: https://blog.csdn.net/weixin_38813807/article/details/129708032
版权归原作者 牛油菠蘿包 所有, 如有侵权,请联系我们删除。

“【Selenium自动化测试】操作Cookie”的评论:

还没有评论