chrome driver 获取 session_Python+selenium自动化之cookie获取与登录

cookie有两种,一种是会话级别的,一种是有有效期的,会话级别的cookie就不能用add_cookie的方法了,因为一次会话过程(从打开浏览器到关闭浏览器,断开连接)结束后它就失效了。下面以百度首页登录为例,如何获取cookie和使用cookie进行免登录操作。

获取cookie方式

查看cookie的方法有几种,可以使用fidller抓包能够看到cookie的name和value值,但不是特别全面;也可以使用浏览器按F12,Chrome按F12,点击Application,左边点击Cookies,选择需要查看的url,下图为Firefox查看百度用户登录后的cookie信息,点击“存储”,左侧点击Cookie。这里看到的信息比使用fidller抓包看到的信息更全面。

a25154553589042b45ed128bdad47ac7.png

使用cookie免登陆

根据上图中获取到cookie中的BAIDUID和BDUSS的name和value复制并保存,在程序中使用add_cookie()把BAIDUID和BDUSS的键值传递给cookie。

from selenium import webdriverfrom time import sleep
driver = webdriver.Firefox()driver.implicitly_wait(20)driver.get("https://www.baidu.com")driver.add_cookie({'name':'BAIDUID','value':'774AD7E55B8613FB226DE2704CDF0BC8:FG=1'})driver.add_cookie({'name':'BDUSS','value':'TQ2MzBqSjUteW5aMVJxRUxrRFRlNn5yVHNIVGRmakR2RGJKTmdqU3g0T3JhVkJmRVFBQUFBJCQAAAAAAAAAAAEAAABlJV0UdGlla3VuMDgxNj5OTAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKcKF-r3ChfZ'})
sleep(3)driver.refresh()

在程序和参数不写错的情况下,运行这段代码,访问百度页面后,账户就被登陆了。

15025fe3d5d9b56a28545b41432c01c7.png

这只是获取cookie和使用cookie的一种方式,下篇说明其它的方式。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值