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

常见验证有以下几种:

  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. 第八讲 shiro 整合 ssm

    1.整合ssm并且实现用户登录和菜单权限 2.将shiro整合到ssm中 (1)添加shiro相关jar包 (2)在web.xml中添加shiro配置 <!-- 新增shiro配置 --> ...

  2. netserver启动时报错 "Unable to start netserver with 'IN(6)ADDR_ANY' port '12865' and family AF_UNSPEC'"

    netperf启动netserver时报错 "Unable to start netserver with 'IN(6)ADDR_ANY' port '12865' and family A ...

  3. SQL SERVER将多行数据合并成一行(转)

    1)比如表中有三列数据: 2)执行如下查询: 1 SELECT [USER_NAME], [USER_ACCOUNT] 2 , [ROLE_NAME] = stuff(( 3 SELECT ',' + ...

  4. 【转】内核中的内存申请:kmalloc、vmalloc、kzalloc、kcalloc、get_free_pages

    转自:https://www.cnblogs.com/yfz0/p/5829443.html 在内核模块中申请分配内存需要使用内核中的专用API:kmalloc.vmalloc.kzalloc.kca ...

  5. PAT Advanced 1035 Password (20 分)

    To prepare for PAT, the judge sometimes has to generate random passwords for the users. The problem ...

  6. PAT Basic 1041 考试座位号 (15 分)

    每个 PAT 考生在参加考试时都会被分配两个座位号,一个是试机座位,一个是考试座位.正常情况下,考生在入场时先得到试机座位号码,入座进入试机状态后,系统会显示该考生的考试座位号码,考试时考生需要换到考 ...

  7. python 字符串 常用方法

    name = 'ALLix9' print(name.casefold()) # 大写变成小写 name.lower() # 全变小写 '.isnumeric()) #判断是否是数字:正整数 prin ...

  8. 文件打包压缩——tar

    tar——压缩数据/解压数据内容 命令语法: tar zcvf  生成压缩包路径/压缩包.tar.gz    压缩数据01,02,03.... 巧记: 压缩名称为tar.gz,可以理解为tar命令,g ...

  9. 理解厂商前缀 -webkit- / -moz- / -ms- / -o-

    CSS3规范如果想要达到W3C的推荐标准状态还需要不断改进.浏览器则通常在W3C开发标准的过程中就会体现这些特性.这样,标准在最终敲定之前就能知道哪些地方还能进一步改进. 在包含某个特性的的初始阶段, ...

  10. 在 Postman 中报错:Self-signed SSL certificates are being blocked 的分析与解决

    http://www.shuijingwanwq.com/2019/02/18/3171/