selenium - webdriver - cookie操作

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 -> [email protected]
DICT_UGC -> be3af0da19b5c5e6aa4e17bd8d90b28a|
JSESSIONID -> abcl3HQpWO42I51w90znw
___rl__test__cookies -> 1526220445878
key-aaaaa -> value-bbbbb
OUTFOX_SEARCH_USER_ID_NCOO -> 828629148.5563225

文章摘自:http://www.testclass.net/selenium_python/cookie/

猜你喜欢

转载自www.cnblogs.com/studyddup0212/p/9033653.html