selenium通过cookies直接免密登录
前提知识:
1、webdriver中提供了操作cookie的相关方法:
-
get_cookies() 获得cookie信息
-
add_cookie(cookie_dict) 添加cookie
-
delete_cookie(name) 删除特定(部分)的cookie
-
delete_all_cookies() 删除所有的cookie
2、add_cookie():其参数是一个字典,字典中必须有“name”和“value”两个key,可选的key是"path"、 "domin"、 "secure"、 "expiry"、"httponly"
key键的含义:
-
name:cookie的名称
-
value:cookie对应的值,动态生成的
-
domain:服务器域名
-
expiry:Cookie有效终止日期
-
path:Path属性定义了Web服务器上哪些路径下的页面可获取服务器设置的Cookie
-
httpOnly:防脚本攻击
-
secure:在Cookie中标记该变量,表明只有当浏览器和Web Server之间的通信协议为加密认证协议时
方法一:通过浏览器的debug工具获得cookies;每个参数key和value都需正确才可以
方法二:通过driver发送用户名密码登录获取cookie并保存下来,然后第二次driver访问前先加上获得的cookie,达到绕过登录的目的
下图中的cookie是通过第一次发送用户名密码登录获得的