zoukankan      html  css  js  c++  java
  • python自动化实现登录获取图片验证码功能selemium

    print("识别验证码")
    # 网上下载tesseract,给定ocr的安装目录
    pytesseract.tesseract_cmd = ('C:\Program Files\Tesseract-OCR\tesseract.exe')

    # 验证码输入框元素
    print("定位验证码输入框元素")
    codeElement = authcode = driver.find_element_by_id("checkCode")
    # 验证图片元素
    print("验证图片元素")
    imgElement = 'C:\Users\TZ\Desktop\captcha.png'

    # 2、截取屏幕内容,保存到本地
    print("截取屏幕内容,保存到本地")
    driver.save_screenshot( 'C:\Users\TZ\Desktop\captcha.png')

    # 3、打开截图,获取验证码位置,截取保存验证码
    print("打开截图,获取验证码位置,截取保存验证码")
    ran = Image.open( 'C:\Users\TZ\Desktop\captcha.png' )
    print("获取验证码位置,定位验证码的(左,上,右,下)")
    box = (1255, 341, 1338, 367) # 获取验证码位置,自动定位不是很明白,就使用了手动定位,代表(左,上,右,下)
    ran.crop( box ).save( "C:\Users\TZ\Desktop\captcha2.png" )

    print("获取验证码图片,读取验证码")
    # 4、获取验证码图片,读取验证码
    imageCode = Image.open( "C:\Users\TZ\Desktop\captcha2.png" )
    code = pytesseract.image_to_string(imageCode ).strip()
    print("拿到验证码,输入验证")
    # 5、收到验证码,进行输入验证
    print( code.lower() )

    需要安装ocr识别软件tesseract ,然后

    import pytesseract
    from PIL import Image 就可以了 验证码的位置需要画图工具 定位一下位置

    需要软件测试自动话课程的加qq971090345

  • 相关阅读:
    C#.NET.JSON库
    C# .NET 私钥 RSA2,SHA256,签名
    fiddler 捕捉不到代码发出去的HTTP请求
    双网卡共享上网
    json 反序列化成键值对
    C# .NET 杀进程
    docker in centos error
    深入理解磁盘文件系统之inode
    CentOS下安装高版本GCC
    Mac 使用 launchctl 定时运行程序(转载)
  • 原文地址:https://www.cnblogs.com/LtTest/p/14661004.html
Copyright © 2011-2022 走看看