一、cookie介绍
1、cookie是由web服务器生成的,并且保存在用户浏览器上的小文本文件,它可以包含用户相关的信息。
2、cookie数据格式:键值对组成(Python中的字典)。
3、cookie产生:客户端请求服务器,如果服务器需要记录该用户状态,就向客户浏览器颁发一个cookie数据。
4、cookie的使用:当浏览器再次请求该网站时,浏览器把请求的数据和cookie数据一同提交给服务器,服务器检查该cookie,以此来辨认用户状态。
二、Selenium对cookie操作
1、说明:Selenium中对cookie操作提供相应的方法。
2、方法:
- get_cookie(name) ---->获取指定cookie(name:为cookie的名称)
- get_cookies() ---->获取本网站所有本地cookies
- get_cookie(cookie_dict) ---->添加cookie(cookie_dict:一个字典对象,必选的键包括:"nama" and "value")
3、案例:使用cookie绕过百度登录
from time import sleep
from selenium import webdriver
"""
目标:cookie操作
案例:使用cookie绕过百度登录
步骤:1、手动登录百度网站
2、手动获取登录后的cookie键名:'BDUSS'
3、使用selenium内的add_cookie(name='BDUSS',value='xxxx')
"""
#获取浏览器对象
driver=webdriver.Firefox()
#driver.maximize_window()
driver.implicitly_wait(10)
#设置网络链接
url="https://www.baidu.com/"
driver.get(url)
#设置cookie
driver.add_cookie({"name":"BDUSS","value":"E0ZzFxbGU2RngzdExzaDVvbXlwdlBMZU1VUTV4eVhYeVhNeGh1b0xPQ2lofmRkRVFBQUFBJCQAAAAAAAAAAAEAAAC8nIDLRFBMODA5AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKL6z12i-s9deE"})
#获取所有的cookie信息
# cookies=driver.get_cookies()
# print("cookies内容为:",cookies)
# for cook in cookies:
# print(cook['name'])
#cookie键名BDUSS的cookie信息
cookie=driver.get_cookie("BDUSS")
print("cookie:",cookie)
sleep(2)
#刷新界面,看到效果
driver.refresh()
sleep(2)
driver.quit()
实现效果: