在实际测试中会经常见到登录操作需要验证码验证登录

常见验证有以下几种:

  1. 验证码登录
  2. 图片识别  

  3. 图片滑块识别验证

 

4.简单验证码计算

针对上面的登录验证解决办法有以下几种:

1.让开发去掉验证码(注释掉验证码相关代码)

2.设置万能验证码  (只适用于第一种验证码)

3 .验证码识别技术 (主要针对图片识别)

python的pytesseract库用于验证码识别

4.使用cookie记录登录,自动化脚本绕过验证环节

下面主要介绍使用cookie登录,以博客园为列,其他解决办法后面有时间再进行补充:

博客园登录验证为上图第三种:图片滑块识别验证

博客园登录页面:

第一步:获取cookie

首先编写登录脚本如下:

##登录时记得选择记住密码

 from selenium import webdriver
from time import sleep Dirver = webdriver.Chrome()
Dirver.maximize_window()
Dirver.get("https://account.cnblogs.com/signin")
Dirver.implicitly_wait(10)
Dirver.find_element_by_id('LoginName').send_keys('username')
Dirver.find_element_by_id('Password').send_keys('password')
sleep(60) #代码运行到此处时,手动点击登录按钮并进行图片滑块验证,完成后,以下代码会获取登录成功后的页面cookie cookies = Dirver.get_cookies()
print(cookies)
Dirver.quit()

第二步:根据获取的cookie进行登录

 from selenium import webdriver
from time import sleep Dirver = webdriver.Chrome()
Dirver.maximize_window()
Dirver.get("https://home.cnblogs.com/")
Dirver.implicitly_wait(10)
Dirver.add_cookie({'name':' ','value':''}) #输入第一步得到的值
Dirver.add_cookie({'name':'','value':''})
sleep(10)
Dirver.get("https://home.cnblogs.com/")
username = Dirver.find_element_by_css_selector('#header_user_right a:nth-child(2) ').text #获取用户名
print(username)
welcome = Dirver.find_element_by_id('header_user_left').text
print(welcome) #获取欢迎字样
sleep(3) Dirver.quit()

登陆成功后的页面如下:

关于自动化测试中的验证码登录的其他解决办法后续将一一补充

selenium验证码处理之cookie登录的更多相关文章

  1. selenium cookie 登录

    前言 爬虫方向的小伙伴们都知道网页爬虫经常遇到的问题就是登录账户,有些简单的网站我们可以简单的send key来输入账户密码就可以登录,但是有很多网站需要验证码之类的就不太好用了,这时候就体现到了co ...

  2. python selenium cookie 登录

    概要: 1.正常登录,使用selenium获取cookie: 2.保存cookie: 3.使用cookie登录. 4.python--2.7,selenium--3.4.1 步骤1 正常登录,使用se ...

  3. python3爬虫 - 利用浏览器cookie登录

    http://blog.csdn.net/pipisorry/article/details/47980653 爬虫爬网站不免遇到需要登录的问题. 登录的时候可能还会碰到需要填验证码的问题, 有的验证 ...

  4. python3爬虫 - cookie登录实战

    http://blog.csdn.net/pipisorry/article/details/47948065 实战1:使用cookie登录哈工大ACM网站 获取网站登录地址 http://acm.h ...

  5. python3+selenium入门13-操作cookie

    可以把cookie理解为自己账户的身份证.因为http协议是无状态的,上一个请求和下一个请求没有关系.但是有时需要有关联.比如登录之后,才能进行操作这样的设置.这个就是cookie在起作用.登录成功时 ...

  6. JMeter学习-018-JMeter 配置元件之-HTTP信息头管理器-实现 Cookie 登录

    之前写过一篇通过[HTTP Cookie管理器]实现登录态操作的文章,使用时需要配置每个键值对(如下图所示),相对来讲配置比较繁琐.其实,我们也可通过在[HTTP信息头管理器]添加 Cookie 信息 ...

  7. JMeter学习-012-JMeter 配置元件之-HTTP Cookie管理器-实现 Cookie 登录

    前文我们讲过了若何获取登录后的 Cookie 信息,不知如何获取登录 Cookie 的朋友,敬请参阅我之前写的博文:Fiddler-005-获取 Cookie 信息.参阅上篇文章,获取到 Cookie ...

  8. Asp.Net Core 2.0 项目实战(10) 基于cookie登录授权认证并实现前台会员、后台管理员同时登录

    1.登录的实现 登录功能实现起来有哪些常用的方式,大家首先想到的肯定是cookie或session或cookie+session,当然还有其他模式,今天主要探讨一下在Asp.net core 2.0下 ...

  9. net core体系-web应用程序-4asp.net core2.0 项目实战(1)-12基于cookie登录授权认证并实现前台会员、后台管理员同时登录

    1.登录的实现 登录功能实现起来有哪些常用的方式,大家首先想到的肯定是cookie或session或cookie+session,当然还有其他模式,今天主要探讨一下在Asp.net core 2.0下 ...

随机推荐

  1. python 查询Neo4j多节点的多层关系

    需求:查询出满足3人及3案有关系的集合 # -*- coding: utf-8 -*- from py2neo import Graph import psycopg2 # 二维数组查找 def fi ...

  2. java封装小实例

    封装是java语言的一个重要的特性,通过把对象的属性和操作方法封装在同一个类中,对外只提供公共方法对这些数据进行set和get,同时封装也能对方法进行封装.总之封装能够有效地隐藏内部的代码细节,从而使 ...

  3. [人工智能]IBM Watson人工智能API|一步步创建智能微信翻译官|第一章

    最近参加了IBM可认知内部创业活动,想从零创建一个微信翻译工具,这就是我的AI翻译官.

  4. apply_test

    //object apply_test {// def main(args:Array[String]): Unit ={// println("apply 方法:"+apply( ...

  5. 第二组_学生会管理系统_APP端个人感想

    一:相关链接 1.相关源码链接: 1.学生会管理系统APP端:Code 2.学生会管理系统WEB端:Code 3.学生会管理系统后台:COde 2.相关文档和博客: 1.前期接口文档以及需求文档Doc ...

  6. linux ab 压测

    https://www.cnblogs.com/shenshangzz/p/8340640.html https://www.cnblogs.com/shenshangzz/p/8340640.htm ...

  7. APIO2019 题解

    APIO2019 题解 T1 奇怪装置 题目传送门 https://loj.ac/problem/3144 题解 很容易发现,这个东西一定会形成一个环.我们只需要求出环的长度就解决了一切问题. 设环的 ...

  8. springboot 集成oss

    集成aliyun oss 结构如下: pom.xml <dependency> <groupId>org.springframework.boot</groupId> ...

  9. BZOJ4625 [BJOI2016]水晶 最小割

    题意简述 给你一个三维的坐标系,坐标系上 \((x_i+y_i+z_i)\bmod 3 = 0\) 的点内有能量源.给定 \(n\) 个点含有能量值为 \(c_i\) 的水晶,如果一个水晶位于能量源上 ...

  10. 手动创建一个Spring Boot 2.x项目

    spring boot 2.1.9版本quick start参考文档地址:https://docs.spring.io/spring-boot/docs/2.1.9.RELEASE/reference ...