Selenium操作浏览器Cookie
写在前面
Cookie通常来说是服务器发送给浏览器的数据组。
Cookie用于辨别用户身份,访问服务器时保持登录状态等功能。
有时我们需要获取浏览器中的cookie,用来验证存储的cookie是否正确。
Selenium WebDriver提供了操作Cookie的相关方法,可以获取、删除和添加cookie信息。
WebDriver操作cookie能实现的目标:
1.能够遍历输出cookie信息中的所有key和value;
2.能够删除指定的cookie对象;
3.能够删除所有的cookie对象;
4.能够实现自定义添加cookie值;
实现以上功能WebDriver操作cookie方法:
get_cookies(): 获得所有cookie信息。
delete_all_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的选项,目前支持的选项包括“路径”,“域”。
接下来通过具体的例子,分别实现以上功能:
获取全部cookie
#control_Cookies.py #www.testclass.cn #Altumn from selenium import webdriver driver=webdriver.Chrome() driver.get("https://www.sogo.com") driver.maximize_window() driver.implicitly_wait(10) Cookies=driver.get_cookies() print(Cookies) '获取页面下的全部Cookies,并且输出name、value对应的属性值' for Cookie in Cookies: print("%s-->>%s" % (Cookie["name"], Cookie["value"]))
获取指定cookie
#control_Cookies.py #www.testclass.cn #Altumn from selenium import webdriver driver=webdriver.Chrome() driver.get("https://www.sogo.com") driver.maximize_window() driver.implicitly_wait(10) Cookies=driver.get_cookies() print(Cookies) '获取页面下的全部Cookies,并且输出name、value对应的属性值' for Cookie in Cookies: print("%s-->>%s" % (Cookie["name"], Cookie["value"])) '获取指定name的cookie。例:name=SUV' Cookie_one = driver.get_cookie("SUV") print("%s-->>%s" % (Cookie_one["name"], Cookie_one["value"]))
删除全部cookie
#control_Cookies.py #www.testclass.cn #Altumn from selenium import webdriver driver=webdriver.Chrome() driver.get("https://www.sogo.com") driver.maximize_window() driver.implicitly_wait(10) Cookies=driver.get_cookies() print(Cookies) '一次性删除全部cookies' driver.delete_all_cookies() '删除后重新获取cookies' Cookies_new = driver.get_cookies() print ("*************删除全部值后的cookies*************") print (Cookies_new)
删除指定cookie
#control_Cookies.py #www.testclass.cn #Altumn from selenium import webdriver driver=webdriver.Chrome() driver.get("https://www.sogo.com") driver.maximize_window() driver.implicitly_wait(10) Cookies=driver.get_cookies() print(Cookies) '通过cookie的name属性值,删除name值为"SUV"的cookie信息' driver.delete_cookie("SUV") '获取删除name值为"SUV"后的cookie信息' cookies_new=driver.get_cookies() print ("*************删除name值后的cookies*************") print (cookies_new)
添加自定义cookie
#control_Cookies.py #www.testclass.cn #Altumn from selenium import webdriver driver=webdriver.Chrome() driver.get("https://www.sogo.com") driver.maximize_window() driver.implicitly_wait(10) Cookies=driver.get_cookies() print ("*************原来的cookies************") print(Cookies) '添加自定义cookies信息' driver.add_cookie({"name":"testclass","value":"www.testclass.cn"}) '查看添加的cookies信息' cookies_new = driver.get_cookie("testclass") print ("*************添加自定义值后的cookies************") print(cookies_new)
温馨提示:欢迎加入软件测试学习交流QQ群:670250199
作品采用知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议进行许可
文章评论(0)