WebDriver提供了操作Cookie的相關方法,可以讀取、添加和刪除cookie信息。
WebDriver操作cookie的方法:
-
get_cookies(): 獲得所有cookie信息。
-
get_cookie(name): 返回字典的key為“name”的cookie信息。
-
add_cookie(cookie_dict) : 添加cookie。“cookie_dict”指字典對象,必須有name 和value 值。
-
delete_cookie(name,optionsString):刪除cookie信息。“name”是要刪除的cookie的名稱,“optionsString”是該cookie的選項,目前支持的選項包括“路徑”,“域”。
-
delete_all_cookies(): 刪除所有cookie信息。
下面通過get_cookies()來獲取當前瀏覽器的cookie信息。
from selenium import webdriver driver = webdriver.Chrome() driver.get("http://www.youdao.com") # 獲取cookie信息 cookie = driver.get_cookies() print(cookie) driver.quit()
執行結果:
[{'domain': 'www.youdao.com', 'httpOnly': False, 'name': '___rl__test__cookies', 'path': '/', 'secure': False, 'value': '1526219954928'}, {'domain': '.youdao.com', 'expiry': 1589291954, 'httpOnly': False, 'name': 'OUTFOX_SEARCH_USER_ID_NCOO', 'path': '/', 'secure': False, 'value': '900350754.7866102'}] |
從執行結果可以看出,cookie數據是以字典的形式進行存放的。
添加cookie操作:
from selenium import webdriver driver = webdriver.Chrome() driver.get("http://www.youdao.com") # 向cookie中添加新的信息 driver.add_cookie({'name':'key-aaaaa', 'value':'value-bbbbb'}) # 遍歷cookie信息 for cookie in driver.get_cookies(): print("%s -> %s" % (cookie['name'], cookie['value'])) driver.quit()
執行結果:
OUTFOX_SEARCH_USER_ID -> -1961604857@153.37.75.223 |
文章摘自:http://www.testclass.net/selenium_python/cookie/