selenium验证码处理之cookie登录
在实际测试中会经常见到登录操作需要验证码验证登录
常见验证有以下几种:
- 验证码登录
- 图片识别

- 图片滑块识别验证

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登录的更多相关文章
- selenium cookie 登录
前言 爬虫方向的小伙伴们都知道网页爬虫经常遇到的问题就是登录账户,有些简单的网站我们可以简单的send key来输入账户密码就可以登录,但是有很多网站需要验证码之类的就不太好用了,这时候就体现到了co ...
- python selenium cookie 登录
概要: 1.正常登录,使用selenium获取cookie: 2.保存cookie: 3.使用cookie登录. 4.python--2.7,selenium--3.4.1 步骤1 正常登录,使用se ...
- python3爬虫 - 利用浏览器cookie登录
http://blog.csdn.net/pipisorry/article/details/47980653 爬虫爬网站不免遇到需要登录的问题. 登录的时候可能还会碰到需要填验证码的问题, 有的验证 ...
- python3爬虫 - cookie登录实战
http://blog.csdn.net/pipisorry/article/details/47948065 实战1:使用cookie登录哈工大ACM网站 获取网站登录地址 http://acm.h ...
- python3+selenium入门13-操作cookie
可以把cookie理解为自己账户的身份证.因为http协议是无状态的,上一个请求和下一个请求没有关系.但是有时需要有关联.比如登录之后,才能进行操作这样的设置.这个就是cookie在起作用.登录成功时 ...
- JMeter学习-018-JMeter 配置元件之-HTTP信息头管理器-实现 Cookie 登录
之前写过一篇通过[HTTP Cookie管理器]实现登录态操作的文章,使用时需要配置每个键值对(如下图所示),相对来讲配置比较繁琐.其实,我们也可通过在[HTTP信息头管理器]添加 Cookie 信息 ...
- JMeter学习-012-JMeter 配置元件之-HTTP Cookie管理器-实现 Cookie 登录
前文我们讲过了若何获取登录后的 Cookie 信息,不知如何获取登录 Cookie 的朋友,敬请参阅我之前写的博文:Fiddler-005-获取 Cookie 信息.参阅上篇文章,获取到 Cookie ...
- Asp.Net Core 2.0 项目实战(10) 基于cookie登录授权认证并实现前台会员、后台管理员同时登录
1.登录的实现 登录功能实现起来有哪些常用的方式,大家首先想到的肯定是cookie或session或cookie+session,当然还有其他模式,今天主要探讨一下在Asp.net core 2.0下 ...
- net core体系-web应用程序-4asp.net core2.0 项目实战(1)-12基于cookie登录授权认证并实现前台会员、后台管理员同时登录
1.登录的实现 登录功能实现起来有哪些常用的方式,大家首先想到的肯定是cookie或session或cookie+session,当然还有其他模式,今天主要探讨一下在Asp.net core 2.0下 ...
随机推荐
- [七月挑选]使用hexo建立主题,并发布到github
title: 使用hexo建立主题,并发布到github 根据hexo官网的概述和hexo官网的建站,搭建最开始的hexo博客. 1.环境预先安装好node.js和git 2.npm安装hexo: $ ...
- Educational Codeforces Round 55 (Rated for Div. 2) B. Vova and Trophies (贪心+字符串)
B. Vova and Trophies time limit per test2 seconds memory limit per test256 megabytes inputstandard i ...
- KeSetEvent
KeSetEvent https://bbs.pediy.com/ dll inject dll注入
- 10年前文章_respin 下制作iso 文件的脚本说明
1.prepare_spin.sh 用于在 /var/rpm 下生成 lhs-local 需要的repositery 2.respin.sh 使用revisor 生成 iso 3. post_spi ...
- Flask【第4篇】:用Flask的扩展实现的简单的页面登录
用flask的扩展实现的简单的页面登录 from flask import Flask,render_template,request,redirect,session app = Flask(__n ...
- vue项目中 指令 v-html 中使用过滤器filters功能
转载于简书 链接:http://www.jianshu.com/p/29b7eaabd1ba 问题 2.0 filters only work in mustache tags and v-bind. ...
- eclipse安装心得和环境变量配置的体会
从昨天开始就开始安装eclipse,一开始觉得安装eclipse很简单,肯定就跟下个游戏差不多,但是打开官网之后发现下载的安装包不能用,经过搜索之后发现是因为下载源不对.改过下载源之后下载的安装包竟然 ...
- Docker(三):Docker入门教程-CentOS Docker 安装
CentOS Docker 安装 Docker支持以下的CentOS版本: CentOS 7 (64-bit) CentOS 6.5 (64-bit) 或更高的版本 前提条件 目前,CentOS 仅发 ...
- List中的Map
List中的Map import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.u ...
- Java——抽象类
[抽象类] 抽象类中方法有定义的必要,但是没有实现的必要,因为需要子类进行重写.