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()


相关文章
|
5月前
|
存储 安全
什么是Cookie与Session之Cookie详解
什么是Cookie与Session之Cookie详解
42 0
|
4月前
|
存储 前端开发 Java
会话技术, 掌握Cookie的使用 掌握Session的使用
会话技术, 掌握Cookie的使用 掌握Session的使用
36 0
|
9月前
|
存储 编解码 Java
会话技术(Cookie与Session及对比)
一、基本概念 会话:一次会话中包含多次请求和响应 一次会话:浏览器第一次给服务器资源发送请求,会话建立,直到有一方断开(浏览器或客户端关闭)为止
|
6月前
|
存储 JavaScript 前端开发
cookie相关操作
cookie相关操作
34 0
|
12月前
|
存储 Web App开发 安全
会话技术, 掌握Cookie的使用 掌握Session的使用(中)
会话技术, 掌握Cookie的使用 掌握Session的使用
|
12月前
|
存储 Web App开发 编解码
会话技术, 掌握Cookie的使用 掌握Session的使用(上)
会话技术, 掌握Cookie的使用 掌握Session的使用
|
12月前
|
存储 前端开发 安全
会话技术, 掌握Cookie的使用 掌握Session的使用(下)
会话技术, 掌握Cookie的使用 掌握Session的使用
|
存储 开发框架 安全
Session 和Cookie的区别
Session 和Cookie的区别
115 0
【C#】【Cookie】Cookie设置与读取
【C#】【Cookie】Cookie设置与读取
232 0
状态Cookie与持久化Cookie
状态Cookie与持久化Cookie和对应的实例