selenium通过cookie实现登录

1 from selenium import webdriver
 2 import time
 3 
 4 #driver1登录网站,获得cookie并保存
 5 driver1 = webdriver.Chrome()
 6 driver1.get("https://www.ketangpai.com/User/login.html")
 7 driver1.maximize_window()
 8 time.sleep(2)
 9 
10 #第一次通过send_keys向输入框发送用户名密码登录
11 driver1.find_element_by_xpath("//input[@name='account']").send_keys("your username")
12 driver1.find_element_by_xpath("//input[@name='pass']").send_keys("your password")
13 time.sleep(2)
14 driver1.find_element_by_xpath("//div[@class='padding-cont pt-login']//a[@class='auto-login fl']").click()
15 time.sleep(3)
16 driver1.find_element_by_xpath("//div[@class='padding-cont pt-login']//a[@class='btn-btn']").click()
17 time.sleep(6)
18 #用get_cookies的方法得到登录后的cookie,这个cookie是个列表,列表中两个元素都是字典,第一个是登录前的cookie,第二个是登录后的cookie
19 #将cookie保存在变量savedCookies中
20 savedCookies = driver1.get_cookies()
21 print(savedCookies)
22 
23 #driver2得到driver1的cookie,先删除自己的所有cookie,再将driver1的cookie添加进来
24 driver2 = webdriver.Chrome()
25 #必须首先加载网站,这样selenium才知道cookie是属于哪个网站的
26 driver2.get("https://www.ketangpai.com/User/login.html")
27 #一旦加载网站,即使没登录,也会产生一个cookie,所以这个cookie被删除了
28 driver2.delete_all_cookies()
29 #遍历savedCookies中的两个元素
30 for cookie in savedCookies:
31     #k代表着add_cookie的参数cookie_dict中的键名,这次我们要传入这5个键
32     for k in {'name', 'value', 'domain', 'path', 'expiry'}:
33         #cookie.keys()属于'dict_keys'类,通过list将它转化为列表
34         if k not in list(cookie.keys()):
35             #saveCookies中的第一个元素,由于记录的是登录前的状态,所以它没有'expiry'的键名,我们给它增加
36             if k == 'expiry':
37                 t = time.time()
38                 cookie[k] = int(t)    #时间戳s
39     #将每一次遍历的cookie中的这五个键名和键值添加到cookie
40     driver2.add_cookie({k: cookie[k] for k in {'name', 'value', 'domain', 'path', 'expiry'}})
41 
42 #加载我们想要看到的页面的url
43 driver2.get("https://www.ketangpai.com/Main/index.html")
44 #再次打印driver2的cookie
45 print(driver2.get_cookies())

selenium webdriver 如何添加cookie_Kary Kwok-CSDN博客_selenium添加cookie

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Spider boy

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值