所謂"cookie"數(shù)據(jù)是指某些網(wǎng)站為了辨別用戶身份,儲(chǔ)存在用戶本地終端上的數(shù)據(jù)(通常經(jīng)過加密),由用戶客戶端計(jì)算機(jī)暫時(shí)或永久保存的信息。通俗來講就是指緩存數(shù)據(jù),包括用戶名、密碼、注冊(cè)賬戶、手機(jī)號(hào)等公民個(gè)人信息。
在Web自動(dòng)化測試時(shí),我們也經(jīng)常需要對(duì)其進(jìn)行操作。WebDriver 提供了操作Cookie 的相關(guān)方法,可以讀取、添加和刪除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)
輸出結(jié)果:
[{'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']))
輸出結(jié)果:
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']))
輸出結(jié)果:
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已經(jīng)被刪除。文章來源:http://www.zghlxwxcb.cn/news/detail-775213.html
以上就是本期文章的所有內(nèi)容,感謝觀看,如果對(duì)您有幫助請(qǐng)點(diǎn)贊關(guān)注+收藏,一鍵三連,多謝支持!文章來源地址http://www.zghlxwxcb.cn/news/detail-775213.html
到了這里,關(guān)于【Selenium自動(dòng)化測試】操作Cookie的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!