微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

selenium九cookie的处理

cookie的工作流程

1.http请求从客户端访问服务端请求时,服务器会验证客户端的用户信息
2.web 服务器认证用户信息通过后会生成cookie,并返回给客户端,客户端收到cookie后会保存cookie到浏览器中
3.客户端再次请求http时会带上保存的cookie,一起发送给服务器
4.服务器收到请求后根据cookie判断用户状态,并返回相应信息给客户端

cookie是由服务器生成的,保存在用户浏览器上的文本文件,其中包含用户相关信息
cookie数据格式:键值对组成(python中的字典)

应用场景:
    1.实现会话跟踪,记录用户登录状态
    2.实现记住密码和自动登录功能
    3.用户登录状态下,记录用户操作

selenium中对cookie操作提供相应的方法
方法
    1.get_cookie(name)--------------获取指定cookie,name为cookie的名称
    2.get_cookies()----------------获取本网站所有本地cookies
    3.add_cookie(cookie_dict)-------添加cookie,cookie_dict是一个字典对象,必选的键包括:name和value
import time
from selenium import webdriver

driver = webdriver.Chrome()
driver.maximize_window()
driver.implicitly_wait(10)
# 访问网站并打开多个窗口
driver.get("https://www.baidu.com/")
# 打印所有的cookie信息
print(driver.get_cookies())
# 获取单个cookie信息
print(driver.get_cookie("BAIDUID"))
time.sleep(3)
# 添加一个cookie,先定义cookie_dict
cookie_dict = {
    "name":"test_baidu",
    "value":"test_value"
}
driver.add_cookie(cookie_dict)
# 再次打印所有cookie信息查看是否添加成功
print(driver.get_cookies())

# 添加登录状态cookie来模拟登陆操作
BDUSS = {
    "name": "BDUSS",
    "value": "hRV1I1TFpDen4tOEpDYTFtdjhjTjE3VXpnSXA2WlZFIYjZwNnQxRzZQU3hoRVFBQUFBJCQAAAAAAAAAAAEAAAAG~s1q1sfVz7XEam9ubmEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALqwBGG6sARhc"
}
driver.add_cookie(BDUSS)
time.sleep(3)
# 刷新页面
driver.refresh()
time.sleep(3)
driver.quit()

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐