请输入
菜单

滑块验证码自动处理(OCR识别)

标签:验证码 ,ocr ,OCR

 

以下案例是通过Python的OCR识别和元素拖拽来实现,操作过程很复杂。对此,我们在新版本中新增【滑块拼图验证码】等多个验证码自动处理的指令。大家可以直接使用该指令来完成验证码的自动识别处理,使用方法请点击: 滑块拼图验证码   对Python感兴趣的同学可以继续学习下方案例。

一、案例简介

在访问网站时经常会遇到滑块验证码,这不利于流程的自动化。以下就通过两个实际案例来讲解如何使用八爪鱼RPA实现自动处理滑块验证码,分别是京东商家登录场景碰到的滑块验证码和腾讯滑块验证。两个场景都会用到通过Python调用ocr库识别验证码,但滑动方式不一样。

这个案例会用到Python指令,Python指令以来2个Python库,需要预先安装。如果您还没有安装Python环境,则需要先安装Python环境。

 

Python环境的安装:

此处我们使用Python 3.8.10版本,在 Windows 系统上安装 Python 3.8.10,可以按照以下步骤进行操作:

1.点击下载链接,将Python软件下载到本地: https://www.python.org/ftp/python/3.8.10/python-3.8.10-amd64.exe

2.打开下载的安装程序(通常为 .exe 文件),运行安装程序。

3. 在安装程序界面中,勾选 "Add Python 3.8 to PATH" 选项,以便在命令行中可以直接使用 python 命令。

4. 点击 "Customize installation" 按钮,可以自定义安装的一些选项,如修改安装路径等。如果不需要特别设置,可以直接点击 "Install Now" 按钮继续安装。

5. 等待安装程序完成安装过程。安装完成后会弹出一个安装成功的提示框。

6. 打开命令提示符(Win + R,输入 "cmd" 并回车),输入 "python" 命令,如果成功显示 Python 版本号,则说明安装成功。安装成功后在进行Python库的安装。

 

Python库的安装:

键盘中按下Win+R,在运行框里输入cmd,然后在命令提示符中输入下方代码,再回车运行,最后静静等待安装完成。

pip install ddddocr  -i https://pypi.tuna.tsinghua.edu.cn/simple
pip install pyautogui -i https://pypi.tuna.tsinghua.edu.cn/simple

 

二、流程详细说明

想实现自动滑动滑块验证码,首要的是要计算滑动的距离,我们可通过执行Python代码,调用ddddocr组件来实现。ddddocr识别滑块验证码,需要获取到滑块验证码的背景和缺口图片,支持图片URL或者是图片文件(字节流)。

获取图片配置如下图:

注意:验证码图片必须是img标签,如果捕获的不是img,需要修改xpath,改成是定位到img。可打开该图片的原元素编辑器,校验xpath路径的最后一个是不是img。

 

获取到的图片src属性有可能是url和base64的图片内容,识别代码需要区分。所以流程中需要增加If条件,判断图片链接是否包含data:image/png;base64。

 

 

代码如下

#识别Base64格式的验证码
import ddddocr
det = ddddocr.DdddOcr(det=False, ocr=False, show_ad=False)
target_img = ddddocr.base64_to_image("滑块图片链接".replace("data:image/png;base64,",""))
background_img = ddddocr.base64_to_image("背景图片链接".replace("data:image/png;base64,",""))
target_img.save("target.png")
with open('target.png', 'rb') as f:
    target_content = f.read()
background_img.save("background.png")
with open('background.png', 'rb') as f:
    background_content = f.read()
res = det.slide_match(target_content, background_content, simple_target=True)
print(res)

#通过URL识别
import ddddocr
import requests
det = ddddocr.DdddOcr(det=False, ocr=False, show_ad=False)
target = requests.get("滑块图片链接")
background = requests.get("背景图片链接")
res = det.slide_match(target.content, background.content, simple_target=True)
print(res)

识别结果是缺口相对于背景图片的位置,即【缺口位置】

//target的四个值分别为:X、Y、宽、高
{'target_y': 0, 'target': [481, 85, 617, 221]}

 

得到这个数据后我们就知道滑块缺口在背景图片的位置了。执行滑动时需要知道滑块的【结束位置】,此外我们还需要知道滑块的【初始位置】。通过使用获取网页元素信息指令,可以获取滑块的【初始位置】

有了这两个数据,我们就能计算出滑块需要滑动到的位置坐标

Y坐标=滑块的起始Y坐标

X坐标=滑块的起始X坐标+滑块缺口相对验证码背景图片的位置(target[0])/验证码图片在网页上的缩放比例+误差值(根据实际效果微调)

接下来就可以执行滑动动作,案例中提供了两种滑动方式。

 

方式1:使用python+pyautogui,实现仿真滑动

流程步骤如下:

import pyautogui
# 设置起始位置
start_x = 验证码起点X
start_y = 验证码起点Y
# 计算终点位置
end_x = start_x+拖动距离
end_y = start_y
# 移动鼠标到起始位置
pyautogui.moveTo(start_x, start_y, duration=0.5)
# 按下鼠标左键
pyautogui.mouseDown()
# 往右多拖到20xp
pyautogui.moveTo(end_x + 20, end_y + 20, duration=0.5)
#拖回结束位置
pyautogui.moveTo(end_x, end_y, duration=0.5)
# 松开鼠标左键
pyautogui.mouseUp()

 

方式2:使用【拖拽网页(web)】指令,

这种方式的滑动轨迹比较线性,部分场景可能会无法滑动成功

流程步骤如下:

这样就实现了滑块验证码自动处理的设置,所有的滑块验证码都可以参照这个应用来设置。

三、应用获取

未下载客户端的,请先下载八爪鱼RPA客户端: https://rpa.bazhuayu.com/download 

安装好客户端后,点击或复制下方链接在浏览器打开,即可免费获得该滑块验证码自动识别的应用,快来获取和分享给其他人吧! https://rpa.bazhuayu.com/shareableLink/64b6b671936493a7b43d463b

 

欢迎大家扫码加入交流群,和大家一起交流

上一个
示例应用免费获取
下一个
网页字体加密数据采集(OCR识别)
最近修改: 2024-03-15

玻璃钢生产厂家修文玻璃钢雕塑厂有哪些北海玻璃钢雕塑批发定制河南环保玻璃钢雕塑供应商滨州广场玻璃钢雕塑公司淄博玻璃钢广场雕塑定制福建玻璃钢雕塑摆件价格长沙抽象玻璃钢雕塑联系方式淮南景观玻璃钢雕塑优势潮州校园玻璃钢人物雕塑潞城玻璃钢雕塑丽水玻璃钢花盆价格市场价格马鞍山水果玻璃钢雕塑定制镇江商场美陈报价白山玻璃钢雕塑厂高档商场美陈商场美陈公仔重庆制作玻璃钢雕塑的公司山东超市商场美陈费用河南玻璃钢浮雕城市雕塑设计惠州公园玻璃钢动物雕塑玻璃钢雕塑厂家江苏镜面玻璃钢卡通雕塑厂三门峡景观玻璃钢卡通雕塑顺义玻璃钢花盆湖北户内玻璃钢雕塑价位云浮玻璃钢动物雕塑现货玻璃钢龙雕塑工程扬州玻璃钢仿铜雕塑定做价格玻璃钢雕塑制作合同四川特色商场美陈报价香港通过《维护国家安全条例》两大学生合买彩票中奖一人不认账让美丽中国“从细节出发”19岁小伙救下5人后溺亡 多方发声单亲妈妈陷入热恋 14岁儿子报警汪小菲曝离婚始末遭遇山火的松茸之乡雅江山火三名扑火人员牺牲系谣言何赛飞追着代拍打萧美琴窜访捷克 外交部回应卫健委通报少年有偿捐血浆16次猝死手机成瘾是影响睡眠质量重要因素高校汽车撞人致3死16伤 司机系学生315晚会后胖东来又人满为患了小米汽车超级工厂正式揭幕中国拥有亿元资产的家庭达13.3万户周杰伦一审败诉网易男孩8年未见母亲被告知被遗忘许家印被限制高消费饲养员用铁锨驱打大熊猫被辞退男子被猫抓伤后确诊“猫抓病”特朗普无法缴纳4.54亿美元罚金倪萍分享减重40斤方法联合利华开始重组张家界的山上“长”满了韩国人?张立群任西安交通大学校长杨倩无缘巴黎奥运“重生之我在北大当嫡校长”黑马情侣提车了专访95后高颜值猪保姆考生莫言也上北大硕士复试名单了网友洛杉矶偶遇贾玲专家建议不必谈骨泥色变沉迷短剧的人就像掉进了杀猪盘奥巴马现身唐宁街 黑色着装引猜测七年后宇文玥被薅头发捞上岸事业单位女子向同事水杯投不明物质凯特王妃现身!外出购物视频曝光河南驻马店通报西平中学跳楼事件王树国卸任西安交大校长 师生送别恒大被罚41.75亿到底怎么缴男子被流浪猫绊倒 投喂者赔24万房客欠租失踪 房东直发愁西双版纳热带植物园回应蜉蝣大爆发钱人豪晒法院裁定实锤抄袭外国人感慨凌晨的中国很安全胖东来员工每周单休无小长假白宫:哈马斯三号人物被杀测试车高速逃费 小米:已补缴老人退休金被冒领16年 金额超20万

玻璃钢生产厂家 XML地图 TXT地图 虚拟主机 SEO 网站制作 网站优化