“
春风十里,不如有你。
”
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的选项,目前支持的选项包括“路径”,“域”。
接下来通过具体的例子,分别实现以上功能:
#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"]))
#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"]))
#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)
#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)
#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)
END
本文分享自 软件测试testclass 微信公众号,前往查看
如有侵权,请联系 cloudcommunity@tencent.com 删除。
本文参与 腾讯云自媒体同步曝光计划 ,欢迎热爱写作的你一起参与!