python+selenium-跳过登录验证码

前言

最近因为学习任务,需要登录学习网站观看在线视频。由于工作比较忙,没有多余时间去观看。突然想到不是可以自动化去投机,完成学习任务嘛。

开始复习之前用过的代码。发现登录有个坑,就是验证码的问题,关于验证码想到一共四个办法:

  1. 让开发注释掉验证码。 不现实 pass
  2. 让开发设置一个万能验证码,只要输入这个验证码,就通过  不现实 pass
  3. 跳过验证码直接登录成功。查阅了一些资料,发现可行
  4. 调用一些验证码识别库 可行

发现第三条最容易实现,采用selenium-跳过登录验证码

实现思路

  1. 打开登录页面,获取登录前后cookie,进行对比(可以抓包,也可以调用get_cookies()等方法实现)
  2. 对比两次获取的cookie,找出登录后多出来的cookie
  3. 在代码里加上写入之前登录后的cookie,刷新页面,get对应页面即可

代码案例

获取登录前后cookie,返回登录后cookie

 

获取登录后cookie,修改当前cookie,进行后续操作

 

cookie1为登录前cookie

cookie2为登录后cookie

好多字段不一样,所以用登录后cookie全覆盖

 

其他

当前代码具有局限性,如果某些网站打开没法进行这样操作,即使写入cookie,第二次打开的网页,仍然是登录页,即使写了登录后的网址

 

posted @ 2021-08-23 11:05  橘德德呀  阅读(1496)  评论(0)    收藏  举报