16-cookie相关操作

简介: 16-cookie相关操作

使用背景:可绕过验证码

1. 获取所有cookie

  • 使用:driver.get_cookies()
1. # -*- coding: utf-8 -*-
2. # @Time    : 2021/1/23
3. # @Author  : 大海
4. from pprint import pprint
5. from selenium import webdriver
6. 
7. driver = webdriver.Chrome()
8. 
9. driver.get('https://baidu.com')
10. # 获取当前会话所有cookie
11. cookies = driver.get_cookies()
12. # 美观的打印出结果
13. pprint(cookies)
14. 
15. 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,布尔值    (可选)
1. # -*- coding: utf-8 -*-
2. # @Time    : 2021/1/23
3. # @Author  : 大海
4. 
5. from selenium import webdriver
6. 
7. driver = webdriver.Chrome()
8. 
9. driver.get('https://baidu.com')
10. 
11. # 添加cookie
12. driver.add_cookie({'name': 'foo1', 'value': 'bar1'})
13. driver.add_cookie({'name': 'foo2', 'value': 'bar2', 'path': '/'})
14. driver.add_cookie({'name': 'foo3', 'value': 'bar3', 'path': '/', 'secure': True})
15. 
16. 
17. driver.close()

3. 获取指定cookie

  • 使用:driver.get_cookie(name)
  • 注意:参数name为name的值
1. # -*- coding: utf-8 -*-
2. # @Time    : 2021/1/23
3. # @Author  : 大海
4. from pprint import pprint
5. from selenium import webdriver
6. 
7. driver = webdriver.Chrome()
8. 
9. driver.get('https://baidu.com')
10. 
11. # 添加cookie
12. driver.add_cookie({'name': 'foo1', 'value': 'bar1'})
13. driver.add_cookie({'name': 'foo2', 'value': 'bar2', 'path': '/'})
14. driver.add_cookie({'name': 'foo3', 'value': 'bar3', 'path': '/', 'secure': True})
15. # 获取cookie,注意:使用的是cookie的name值
16. my_cookie1 = driver.get_cookie('foo1')
17. my_cookie2 = driver.get_cookie('foo2')
18. my_cookie3 = driver.get_cookie('foo3')
19. pprint(my_cookie1)
20. pprint(my_cookie2)
21. pprint(my_cookie3)
22. 
23. driver.close()

4. 清除指定cookie

  • 使用:driver.delete_cookie(name)
1. # -*- coding: utf-8 -*-
2. # @Time    : 2021/1/23
3. # @Author  : 大海
4. 
5. # -*- coding: utf-8 -*-
6. # @Time    : 2021/1/23
7. # @Author  : 大海
8. from pprint import pprint
9. 
10. from selenium import webdriver
11. 
12. driver = webdriver.Chrome()
13. 
14. driver.get('https://baidu.com')
15. 
16. # 添加cookie
17. driver.add_cookie({'name': 'foo1', 'value': 'bar1'})
18. driver.add_cookie({'name': 'foo2', 'value': 'bar2', 'path': '/'})
19. driver.add_cookie({'name': 'foo3', 'value': 'bar3', 'path': '/', 'secure': True})
20. # 清除指定cookie  foo1
21. driver.delete_cookie('foo1')
22. 
23. # 获取cookie,注意:使用的是cookie的name值
24. my_cookie1 = driver.get_cookie('foo1')  # 返回结果是None,清除成功
25. my_cookie2 = driver.get_cookie('foo2')
26. my_cookie3 = driver.get_cookie('foo3')
27. 
28. pprint(my_cookie1)
29. pprint(my_cookie2)
30. pprint(my_cookie3)
31. 
32. driver.close()

5. 清除所有cookie

  • 使用:delete_all_cookies()
1. # -*- coding: utf-8 -*-
2. # @Time    : 2021/1/23
3. # @Author  : 大海
4. 
5. # -*- coding: utf-8 -*-
6. # @Time    : 2021/1/23
7. # @Author  : 大海
8. from pprint import pprint
9. from selenium import webdriver
10. 
11. driver = webdriver.Chrome()
12. 
13. driver.get('https://baidu.com')
14. 
15. # 添加cookie
16. driver.add_cookie({'name': 'foo1', 'value': 'bar1'})
17. driver.add_cookie({'name': 'foo2', 'value': 'bar2', 'path': '/'})
18. driver.add_cookie({'name': 'foo3', 'value': 'bar3', 'path': '/', 'secure': True})
19. # 清除所有cookie
20. driver.delete_all_cookies()
21. 
22. # 获取cookie,注意:使用的是cookie的name值
23. my_cookie1 = driver.get_cookie('foo1')  # 返回结果是None,清除成功
24. my_cookie2 = driver.get_cookie('foo2')  # 返回结果是None,清除成功
25. my_cookie3 = driver.get_cookie('foo3')   # 返回结果是None,清除成功
26. 
27. pprint(my_cookie1)
28. pprint(my_cookie2)
29. pprint(my_cookie3)
30. 
31. driver.close()


相关文章
|
6月前
|
存储 安全 数据库
cookie和session区别
cookie和session区别
45 1
|
存储 安全 数据安全/隐私保护
Cookie 和 Session 的区别是什么?
Cookie 和 Session 的区别是什么?
|
6月前
|
存储 安全
什么是Cookie与Session之Cookie详解
什么是Cookie与Session之Cookie详解
74 0
|
3月前
|
存储 JavaScript 前端开发
Cookie 反制策略详解:Cookie加解密原理、Cookie和Session机制、Cookie hook、acw_sc__v2、jsl Cookie调试、重定向Cookie
Cookie 反制策略详解:Cookie加解密原理、Cookie和Session机制、Cookie hook、acw_sc__v2、jsl Cookie调试、重定向Cookie
209 1
|
存储
cookie与session的区别
cookie与session的区别
74 0
|
6月前
|
存储 安全 数据安全/隐私保护
Session和Cookie的区别
Session和Cookie的区别
|
存储 JavaScript 前端开发
cookie相关操作
cookie相关操作
55 0
|
Java 开发者
Cookie操作|学习笔记
快速学习Cookie操作
Cookie操作|学习笔记
|
存储 编解码 安全
cookie和session的区别
一.cookie和session的区别 (1)cookie存储数据在客户端,session在服务器端 (2)cookie有数据大小限制,session没有 (3)cookie相对于不安全,session安全 (4)cookie 可设置为长时间保持,比如我们经常使用的默认登录功能,session一般失效时间较短,客户端关闭或者session 超时都会失效。
417 0
|
存储 开发框架 安全
Session 和Cookie的区别
Session 和Cookie的区别
130 0