使用背景:可绕过验证码
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()