selenium中处理验证码问题

验证码

基本作用:可以实现当前访问页面的数据安全性、还可以减少用户的并发数;

类型:1、纯数字、纯字母;2、汉字组合;3、数学运算题;4、滑动;5、图片(选不同的、选相同、成语顺序·····;6、短信;7、语音;8、邮箱;

验证码的实现:
-在开发验证码时,必然会有对应的验证码资源库;(通常情况下会有两种:本地资源库、网络资源库)
本地资源库:开发会设定相关的验证码的资源信息;通常定义在某种容器类型中;[0,1,2,3,4,5,6,7,8,9,A,B,C,······,“男”,“女”,“天”,“地”,······]
网络资源库:相关的数据全部都是调用第三方接口或者在网络上进行爬取相关数据;

解决验证码:
1、让开发人员将验证码直接屏蔽操作;
2、让开发人员提供一个万能验证码;
3、如果是本地资源库图片形式的话,则可以将服务器存储资源文件夹所有图片全部删除只留一张,固定验证码;
4、打码平台完成(斐斐、超人、图鉴);
5、使用机器学习验证码(光学字符识别);

通过代码获取验证码:
-使用第三方扩展模块:PIL(图像处理模块:Python Imaging library(python的图像处理库))模块;因为PIL是属于python2.x版本所使用的,在Python3.x版本的图像处理库必须安装Pillow或者Pillow-PIL
selenium中处理验证码问题_第1张图片
selenium中处理验证码问题_第2张图片
selenium中处理验证码问题_第3张图片
selenium中处理验证码问题_第4张图片
selenium中处理验证码问题_第5张图片
selenium中处理验证码问题_第6张图片
selenium中处理验证码问题_第7张图片
Image.py
selenium中处理验证码问题_第8张图片
selenium中处理验证码问题_第9张图片

selenium中处理验证码问题_第10张图片
selenium中处理验证码问题_第11张图片
但此时代码运行会发现截出来的图片不对
selenium中处理验证码问题_第12张图片
与屏幕的填充布局有关系
selenium中处理验证码问题_第13张图片
选择更改为100%
selenium中处理验证码问题_第14张图片
此时运行出来是正常的结果
selenium中处理验证码问题_第15张图片
如果不想更改,可以自行乘以或者除于相应比例。

注意:如果需要进行页面截图、并且是截取页面中的某一部分图片的话,则一定要注意当前计算机的布局填充率(影响截图的范围位置)

你可能感兴趣的:(测试开发,selenium,测试工具)