• 超级鹰的使用


    超级鹰主要作用在我们利用selenium实现自动登录页面时往往会遇到图片类型的验证码,

    而超级鹰的作用就是识别验证码返回给我们,下面看下具体的实现。

    1.https://www.chaojiying.com/user/login进入超级鹰登录页面注册账号

    2.下载demo包

    点击开发文档,在各语言sdk例子下载下,下载所需的语言包,这里以python为例

    下载完成后解压会有一个chaojiying.py文件,将文件复制到你的项目下。复制完成如果你

    的python版本是2无需改动,如果是3,需要在print加上括号。

      3.获取软件id

    4.导入chaojiying模块下的Chaojiying_Client类,调用PostPic方法完成识别

    1
    2
    3
    4
    5
    6
    from chaojiying import Chaojiying_Client
     
    chaojiying = Chaojiying_Client('用户名', '密码', '软件id')
    im = open('需要识别的图片', 'rb').read()
     
    print(chaojiying.PostPic(im, 1902))  # 1902为识别的验证码类型

    验证码在价格体系下查看,根据自己的所需查看

    5.实例

    1
    2
    3
    4
    5
    6
    7
    from chaojiying import Chaojiying_Client
     
     
    chaojiying = Chaojiying_Client('你的用户名', '你的密码', '   软件id')
    im = open('./img/a.jpg', 'rb').read()  # 读取保存的图片
     
    print(chaojiying.PostPic(im, 1902))  # 打印验证码

    a.jpg为我本地保存的验证码图片

     运行后发现错误,好东西往往是要收费的,没办法,只好斥资一块钱买个题分

    1
    {'err_no': -1005, 'err_str': '无可用题分', 'pic_id': '0', 'pic_str': '', 'md5': ''}

     

     购买完题分后我们再次运行,发现可正常识别的内容在pic_str字段中,这时我们直接获取即可。

    1
    {'err_no': 0, 'err_str': 'OK', 'pic_id': '1190913450969630001', 'pic_str': '7261', 'md5': 'aa86ba819b38b65479e5ba42d477ab03'}

    6.实践

    我们以登录超级鹰页面为例

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    import time
     
    from selenium import webdriver
    from selenium.webdriver.common.by import By
     
    from chaojiying import Chaojiying_Client
     
    driver = webdriver.Chrome()
    driver.implicitly_wait(10# 设置全局等待
    driver.get("https://www.chaojiying.com/user/login/"# 打开登录页面
    driver.find_element(by=By.NAME, value="user").send_keys("你的用户名"# 填写用户名
    driver.find_element(by=By.NAME, value="pass").send_keys("你的密码"# 填写密码
    img_list = driver.find_elements(by=By.TAG_NAME, value="img")
    # img_url = img_list[2].get_attribute("src")  # 获取验证码图片地址
    img = img_list[2].screenshot_as_png  # 截取定位元素位置的图
    # with open("./img/img.png", mode="wb")as f:
    #     f.write(requests.get(img_url).content)  # 将图片保存到本地
     
    chaojiying = Chaojiying_Client('你的用户名', '你的密码', '   软件id')
    # im = open("./img/img.png", 'rb').read()  # 读取保存的图片
    data = chaojiying.PostPic(img, 1902# 打印验证码
    data = data["pic_str"# 获取验证码
    driver.find_element(by=By.NAME, value="imgtxt").send_keys(data)  # 填写验证码
    time.sleep(3)
    driver.find_element(by=By.CLASS_NAME, value="login_form_input_submit").click()  # 点击登录
    time.sleep(2)
    driver.quit()

      

     

     

     

     

     

     

    文章来源:https://www.cnblogs.com/lihongtaoya/ ,请不要转载
  • 相关阅读:
    办公神器!2024年值得拥有的10款在线画板软件!
    什么是MIMO?
    在互联网上赚到钱的人,都有一个秘密?
    活动推广的作用有哪些呢?
    在 history 模式下,为什么刷新页面会出现404?
    nodejs安装及环境配置
    随身wifi编译Openwrt的ImmortalWrt分支
    本地生活服务平台哪家强,怎么申请成为服务商?
    数据结构与算法_part_8_二叉树
    SpringBoot-Web开发-异常处理
  • 原文地址:https://www.cnblogs.com/lihongtaoya/p/16727694.html