selenium添加cookies绕开登录
2022-04-18 本文已影响0人
豆沙包爱馒头
我的思路大概是这样:
- 从浏览器f12看cookie的值,并且复制
- 把cookie的值放到txt
- 创建完webdriver对象后,把cookie添加到对象里面
简书为例子吧
-
f12拿cookie
image.png - 创建txt文件,并且把cookie放进去
-
代码上来:
3.1 .从txt读取cookie,解析成字典结构
3.2 .添加到cookies里
image.png
import time
from selenium import webdriver
if __name__ == "__main__":
# 创建一个浏览器对象
driver = webdriver.Edge()
driver.maximize_window()
# 需要先请求一次简书的网站,才能记录cookie是归属简书,这点很重要
driver.get("https://www.jianshu.com/")
"""添加cookie
1、从文本读取内容并且处理成字典结构,我使用的是推导的方式
2、先用分割把每个cookie取出来,变成 ['_ga=GA1.2.1150760881.1646227169'...
3、我们再分割,这次分割符是= , 变成[['_ga', 'GA1.2.1150760881.1646227169']...
4、使用字典推导的方式变成{_ga:'GA1.2.1150760881.1646227169'}
5、我们愉快下一步
"""
with open("cookies.txt") as f:
# 注意分割是'; '
cookie_list = [i for i in f.read().split("; ")]
cookie_lists = [a.split("=") for a in cookie_list]
cookie_dict = {key[0]: key[1] for key in cookie_lists}
for key, value in cookie_dict.items():
try:
# 遍历cookies,添加
# name,value是固定写法
driver.add_cookie(
{
"name": key,
"value": value,
'path':'/'
}
)
except Exception as e:
print(e)
driver.get("https://www.jianshu.com/")
time.sleep(10)
# 不出意外,你会看到你的用户名
driver.quit()