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/