目录
使用背景:可绕过验证码
1. 获取所有cookie
- 使用:driver.get_cookies()
# -*- coding: utf-8 -*-
# @Time : 2021/1/23
# @Author : 大海
from pprint import pprint
from selenium import webdriver
driver = webdriver.Chrome()
driver.get('https://baidu.com')
# 获取当前会话所有cookie
cookies = driver.get_cookies()
# 美观的打印出结果
pprint(cookies)
driver.close()
2. 添加cookie
- 使用:add_cookie(cookie_dict)
参数说明
- name:cookie的名称 (必填)
- value:cookie对应的值 (必填)
- domain:服务器域名 (可选)
- expiry:Cookie有效终止日期,时间戳 (可选)
- path:Path属性定义了Web服务器上哪些路径下的页面可获取服务器设置的Cookie (可选)
- httpOnly:防脚本攻击,布尔值 (可选)
- secure:在Cookie中标记该变量,表明只有当浏览器和Web Server之间的通信协议为加密认证协议时,浏览器才向服务器提交相应的Cookie。当前这种协议只有一种,即为HTTPS,布尔值 (可选)
# -*- coding: utf-8 -*-
# @Time : 2021/1/23
# @Author : 大海
from selenium import webdriver
driver = webdriver.Chrome()
driver.get('https://baidu.com')
# 添加cookie
driver.add_cookie({'name': 'foo1', 'value': 'bar1'})
driver.add_cookie({'name': 'foo2', 'value': 'bar2', 'path': '/'})
driver.add_cookie({'name': 'foo3', 'value': 'bar3', 'path': '/', 'secure': True})
driver.close()
3. 获取指定cookie
- 使用:driver.get_cookie(name)
- 注意:参数name为name的值
# -*- coding: utf-8 -*-
# @Time : 2021/1/23
# @Author : 大海
from pprint import pprint
from selenium import webdriver
driver = webdriver.Chrome()
driver.get('https://baidu.com')
# 添加cookie
driver.add_cookie({'name': 'foo1', 'value': 'bar1'})
driver.add_cookie({'name': 'foo2', 'value': 'bar2', 'path': '/'})
driver.add_cookie({'name': 'foo3', 'value': 'bar3', 'path': '/', 'secure': True})
# 获取cookie,注意:使用的是cookie的name值
my_cookie1 = driver.get_cookie('foo1')
my_cookie2 = driver.get_cookie('foo2')
my_cookie3 = driver.get_cookie('foo3')
pprint(my_cookie1)
pprint(my_cookie2)
pprint(my_cookie3)
driver.close()
4. 清除指定cookie
- 使用:driver.delete_cookie(name)
# -*- coding: utf-8 -*-
# @Time : 2021/1/23
# @Author : 大海
# -*- coding: utf-8 -*-
# @Time : 2021/1/23
# @Author : 大海
from pprint import pprint
from selenium import webdriver
driver = webdriver.Chrome()
driver.get('https://baidu.com')
# 添加cookie
driver.add_cookie({'name': 'foo1', 'value': 'bar1'})
driver.add_cookie({'name': 'foo2', 'value': 'bar2', 'path': '/'})
driver.add_cookie({'name': 'foo3', 'value': 'bar3', 'path': '/', 'secure': True})
# 清除指定cookie foo1
driver.delete_cookie('foo1')
# 获取cookie,注意:使用的是cookie的name值
my_cookie1 = driver.get_cookie('foo1') # 返回结果是None,清除成功
my_cookie2 = driver.get_cookie('foo2')
my_cookie3 = driver.get_cookie('foo3')
pprint(my_cookie1)
pprint(my_cookie2)
pprint(my_cookie3)
driver.close()
5. 清除所有cookie
- 使用:delete_all_cookies()
# -*- coding: utf-8 -*-
# @Time : 2021/1/23
# @Author : 大海
# -*- coding: utf-8 -*-
# @Time : 2021/1/23
# @Author : 大海
from pprint import pprint
from selenium import webdriver
driver = webdriver.Chrome()
driver.get('https://baidu.com')
# 添加cookie
driver.add_cookie({'name': 'foo1', 'value': 'bar1'})
driver.add_cookie({'name': 'foo2', 'value': 'bar2', 'path': '/'})
driver.add_cookie({'name': 'foo3', 'value': 'bar3', 'path': '/', 'secure': True})
# 清除所有cookie
driver.delete_all_cookies()
# 获取cookie,注意:使用的是cookie的name值
my_cookie1 = driver.get_cookie('foo1') # 返回结果是None,清除成功
my_cookie2 = driver.get_cookie('foo2') # 返回结果是None,清除成功
my_cookie3 = driver.get_cookie('foo3') # 返回结果是None,清除成功
pprint(my_cookie1)
pprint(my_cookie2)
pprint(my_cookie3)
driver.close()