自动化工具 如何识别算术型验证码?

darling · 2023年11月16日 · 最后由 JoyMao 回复于 2023年11月21日 · 4812 次阅读

我想写一个 python 自动化脚本。要求先登录。
登录界面:
1.账户
2.密码
3.算术验证码
算术验证码目前是我的难题,该如何识别算术验证码。
查阅大量资料,目前对图片采用灰度处理,二值化之后得出一个黑白图片。
用 pytesseract.image_to_string 将内容识别为字符的时候,不准确,全部给我识别为英文字母。
有大佬有好的建议或者方法吗?

共收到 13 条回复 时间 点赞

有没有可能你拿个 token 就可以直接跳过这个验证码

第一个,你猜验证码是为何而生的
如果你想突破验证码的识别,你看下一条;如果你想写个登录脚本,你可以让开发整个万能码或者取消下验证码验证
第二个,CV 大法好

沫沫sir 回复

完全可以这么干,我这的项目也有一个滑块验证码,想了各种办法没有解决,最后就用的获取 token 来跳转,问题解决

paddleocr、ddddocr、generalocr、自己收集图片做训练

怎么大伙搞自动化都会卡在这啊😂

可以直接从 redis 中提取,就看你有没有权限了.....

实在绕不过又不给关,就不做了呗,总不可能去花钱调商业的图像识别接口吧,不过准确率确实还不错~

开个白名单不就行了

如果是单纯的滑块验证码,可以调用我们的接口,免费体验。
https://www.dragontesting.com/pages/modelCenter.html

ddddocr

开发给个后门,替换本地服务器的文件,这个不外发的

如果是简单的,网上找个开源的 OCR 是不是就可以了?
PS:
我想过这个问题,如果 OCR 轻易就能搞定,那做这个的开发是不是巨菜?
那是不是得上 GAN,做做对抗?
如果策略随机性不足的话,是不是也可以用暴力破解,暴力训练。。。

如果能被自动化【轻易】搞定的验证码,那还搞的目的是什么?
验证码的目的本来就是要区分人和机器,最低目的也是要大大增加自动化验证的成本。
所以如果对自己公司的系统:
测试环境:给自动化测试提供直接跳过的功能,至于验证码本身功能通过人工去测试。
生产环境:先人工完成登录,然后通过 connect 的方式去执行自动化脚本

darling 关闭了讨论 11月24日 09:54
需要 登录 后方可回复, 如果你还没有账号请点击这里 注册