Selenium seleniumUI 自动化测试,识别计算类型图片验证码

高春琪 · 2023年06月02日 · 最后由 TestYan 回复于 2024年04月02日 · 6501 次阅读

seleniumUI 自动化

问题

在做 ui 自动化时,遇到的第一个问题肯定是 “如何识别随机验证码图片”?

解决方案

此系统中验证码为个位数计算型,首先分析验证码格式 “a +(—*/) b=”,获取 code 通过运算符进行分隔 a、b,运算最后求值

def calculate_code(img_codes):
    print("截取前:"+img_codes)
    img_code=img_codes[0:3]
    print("截取后:"+img_code)

    if '*' in img_code:
        zhi = int(img_code.split('*')[0]) * int(img_code.split('*')[1])
        print("*:" + str(zhi))

    elif '+' in img_code:
        zhi = int(img_code.split('+')[0]) + int(img_code.split('+')[1])
        print("+:" + str(zhi))
    elif '-' in img_code:
        zhi = int(img_code.split('-')[0]) - int(img_code.split('-')[1])
        print("-:" + str(zhi))

    elif '/' in img_code:
        zhi = int(int(img_code.split('/')[0]) / int(img_code.split('/')[1]))
        print("/:" + str(zhi))

    return str(zhi)
最佳回复
木小白 回复

可以使用 ocr 识别

共收到 7 条回复 时间 点赞

怎么获取到图片内数值的

木小白 回复

可以使用 ocr 识别

这种看起来清晰不复杂,现在大多数网站这种验证码很复杂的,做自动化我觉得这一步可以绕过去,没必要花费时间

可以使用 ocr 识别 ---- 帖子诚意不足

验证码结果不会存到 redis 吗?直接从 redis 取值。没有必要搞这么复杂吧。

直接去数据库取验证值? 爬虫再用 ocr 变态点的数字识别收费的…

DDDd 库不也行吗

需要 登录 后方可回复, 如果你还没有账号请点击这里 注册