前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Selenium操作浏览器Cookie

Selenium操作浏览器Cookie

作者头像
Altumn
发布2019-10-21 17:07:13
3K0
发布2019-10-21 17:07:13
举报


春风十里,不如有你。

写在前面

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

代码语言:javascript
复制
#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

代码语言:javascript
复制
#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

代码语言:javascript
复制
#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

代码语言:javascript
复制
#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

代码语言:javascript
复制
#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

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2019-06-06,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 软件测试testclass 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 写在前面
  • 获取全部cookie
  • 获取指定cookie
  • 删除全部cookie
  • 删除指定cookie
  • 添加自定义cookie
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档