Python-selenium-cookie
参考
Python Selenium.WebDriver 对 Cookies 的处理及应用『模拟登录』_driver.add_cookie-CSDN 博客
该教程还介绍了 request+cookie
学习
安装
1 | pip install selenium |
重要的开始
1 | from selenium import webdriver |
chromedriver.exe 下载问题
- chrome 浏览器—设置—关于 Chrome, 查看 Chrome 版本
- http://chromedriver.storage.googleapis.com/index.html — 下载旧版本的 chromedriver.exe
- https://googlechromelabs.github.io/chrome-for-testing — 下载较新版本的 chromedriver.exe
cookie 的形式
打开浏览器—打开一个无痕页面—进入 www.baidu.com---F12---存储---Cookie
读取 Cookie
- driver.get_cookies()
- driver.get_cookies(name)
获取所有 Cookie
1 | driver.get('https://www.baidu.com') |
输出内容如下:
1 | {'domain': '.baidu.com', 'expiry': 1734940645, 'httpOnly': False, 'name': 'ZFY', 'path': '/', 'sameSite': 'None', 'secure': True, 'value': 'BvZP5RU1H69s489:BJT5OsAvTtNexoPYRfW4mqHOosSM:C'} |
获取指定名称的 Cookie
获取百度首页名为BD_UPN
的 Cookie 内容,并将其输出
1 | driver.get_cookie("BD_UPN") |
输出内容如下:
1 | {'domain': 'www.baidu.com', 'expiry': 1704270407, 'httpOnly': False, 'name': 'BD_UPN', 'path': '/', 'sameSite': 'Lax', 'secure': False, 'value': '12314753'} |
所以,每个 Cookie 就是一个字典
新增 Cookie
- driver.add_cookie(cookie_dict)
Cookie 是一个键值对数据,传入的 Cookie 对象中必须包含name
和value
两个属性。除此之外还有四个可选属性,分别为path
,domain
,secure
,expiry
示例
1 | drive.add_cookie({"name": "MyCookie", "value": "this is my cookie!"}) |
****
删除 Cookie
- driver.delete_all_cookies()
- driver.delete_cookie(name)
使用 Cookie 登陆网页
第 1 步:获取 Cookie
- 方法 1:手动账号登陆网页,手动记录 Cookie
- 方法 2:写一个自动登陆+手动验证(可选)的函数,自动获取 cookie
第 2 步:使用 cookie 登陆网页
1 | # 删除所有的Cookies |
实例
登录百度
基本思想
- 如果是第一次,需要先调用 gen_cookie_file 手动登录,并且会生成 cookie 文件
- 以后登录就可以使用 cookie 文件登录了
1 | import json |
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 有限元分析与编程!
评论