日本熟妇hd丰满老熟妇,中文字幕一区二区三区在线不卡 ,亚洲成片在线观看,免费女同在线一区二区

如何通過第三方打碼平臺實(shí)現(xiàn)驗(yàn)證碼識別

更新時(shí)間:

案例介紹

本案例主要展示如何實(shí)現(xiàn)通過阿里云RPA工具調(diào)用第三方打碼平臺,解決驗(yàn)證碼問題。

案例一

  1. 首先打開阿里云RPA控制臺登錄界面,然后通過連續(xù)輸入幾次賬號密碼錯(cuò)誤讓圖像英文數(shù)字驗(yàn)證碼顯示出來

image
  1. 使用捕捉控件捕獲賬號密碼輸入框、驗(yàn)證碼輸入框、圖像驗(yàn)證碼、登錄按鈕,以及控制臺登錄成功后的首頁菜單控件。

imageimage
  1. 編碼模式下,代碼示例如下:

from rpa.core import *
from rpa.utils import *
import rpa4 as rpa # 使用V4引擎
import requests
from hashlib import md5

# 您可調(diào)用任意第三方平臺提供的驗(yàn)證碼識別接口,本文以超級鷹平臺的公開接口為例,下載接口腳本文件,將接口代碼復(fù)制到下面代碼后面即可,具體請見:https://www.chaojiying.com/api-14.html

def start():
    # 驗(yàn)證碼截圖存放路徑
    screenshot_path = r'C:\Users\用戶\Desktop\驗(yàn)證碼.png'
    page = rpa.app.chrome.catch('阿里云RPA', mode='title', pattern='contain', timeout=10)
    
    # 首次登錄失敗,可以最多循環(huán)執(zhí)行10次
    for i in range(10):
        page.input_text('輸入賬號','123', simulate=True)
        page.input_text('輸入密碼','123', simulate=True)
        bool1 = page.wait_loaded('驗(yàn)證碼截圖', timeout=3)
        if bool1:
            # 驗(yàn)證碼截圖
            page.screenshot('驗(yàn)證碼截圖',screenshot_path)
            # 識別驗(yàn)證碼
            dis_code = OCR_recognition(screenshot_path)
            # 輸入驗(yàn)證碼
            page.input_text('輸入驗(yàn)證碼',dis_code, simulate=True)
        page.click('點(diǎn)擊登錄')
        # 根據(jù)控制臺首頁的控件來判斷是否已成功登錄
        bool2 = page.wait_loaded('控制臺首頁', timeout=3)
        if bool2:
            break



def OCR_recognition(screenshot_path):
    '''
    調(diào)用超級鷹OCR接口識別驗(yàn)證碼
    '''
    captcha_user = '超級鷹用戶名'
    captcha_pwd = '超級鷹用戶名的密碼'
    captcha_soft = '96001' # 用戶中心>>軟件ID 生成一個(gè)替換 96001
    captcha_cjy = Chaojiying_Client(captcha_user, captcha_pwd, captcha_soft)
    im = open(screenshot_path, 'rb').read()
    dis_result = captcha_cjy.PostPic(im, 1902) # 1902 驗(yàn)證碼類型
    dis_code = dis_result['pic_str']
    print(dis_result)
    return dis_code

案例二

  1. 首先打開京東商智這個(gè)登錄頁面,然后選擇賬戶登錄方式把這個(gè)滑塊界面顯示出來

image
  1. 使用捕捉控件捕獲拼圖圖片與拖動(dòng)箭頭的控件

imageimage

編碼模式下,代碼示例如下:

from rpa.core import *
from rpa.utils import *
import rpa4 as rpa # 使用V4引擎
import requests
from hashlib import md5

# 您可調(diào)用任意第三方平臺提供的驗(yàn)證碼識別接口,本文以超級鷹平臺的公開接口為例,下載接口腳本文件,將接口代碼復(fù)制到下面代碼后面即可,具體請見:https://www.chaojiying.com/api-14.html

def start():
    # 驗(yàn)證碼截圖存放路徑
    screenshot_path = r'C:\Users\用戶\Desktop\滑動(dòng)驗(yàn)證碼.png'
    page = rpa.app.chrome.catch('京東商智', mode='title', pattern='contain')
    page.screenshot('滑塊驗(yàn)證碼截圖',screenshot_path)
    # 識別驗(yàn)證碼
    dis_code = OCR_recognition(screenshot_path)
    # 由于識別返回的坐標(biāo)位置是凹槽中心坐標(biāo)dis_code,需要滑動(dòng)的距離是滑塊中心坐標(biāo)到凹槽的中心坐標(biāo)之間的距離
    # 識別返回的坐標(biāo)x軸值減去滑塊一半的寬度即可
    distance_x = int(dis_code.split(',')[0])-27   #滑塊一半的寬度是27
    print(distance_x)
    # 拖動(dòng)滑塊向橫坐標(biāo)移到指定距離
    page.drag('滑塊',x=distance_x,y=0,speed_mode='uniform')

def OCR_recognition(screenshot_path):
    '''
    調(diào)用超級鷹OCR接口識別驗(yàn)證碼
    '''
    captcha_user = '超級鷹用戶名'
    captcha_pwd = '超級鷹用戶名的密碼'
    captcha_soft = '96001' # 用戶中心>>軟件ID 生成一個(gè)替換 96001
    captcha_cjy = Chaojiying_Client(captcha_user, captcha_pwd, captcha_soft)
    im = open(screenshot_path, 'rb').read()
    dis_result = captcha_cjy.PostPic(im, 9101) # 9101 驗(yàn)證碼類型
    dis_code = dis_result['pic_str']
    print(dis_result)
    return dis_code

可視化模式下,流程搭建示例如下:

說明

# 您可調(diào)用任意第三方平臺提供的驗(yàn)證碼識別接口,本文以超級鷹平臺的公開接口為例,下載接口腳本文件,將接口python代碼復(fù)制到下面第一個(gè)調(diào)用自定義腳本中即可,具體請見:https://www.chaojiying.com/api-14.html

  1. 使用調(diào)用自定義腳本組件,將OCR接口python腳本代碼與調(diào)用接口的方法一起寫在編輯表達(dá)式中即可,調(diào)用接口函數(shù)方法可以參考上面編碼示例中OCR_recognition()的函數(shù)。

    image
  2. 使用設(shè)置變量值組件,設(shè)置圖片保存本地的路徑。

  3. 使用獲取已打開網(wǎng)頁組件,獲取京東商智頁面對象。

    image
  4. 使用調(diào)用自定義腳本組件,先通過編碼模式的控件截圖組件截取驗(yàn)證碼圖片保存到本地,再將圖片路徑傳給調(diào)用OCR接口函數(shù)識別驗(yàn)證碼圖片,并返回坐標(biāo)結(jié)果。

    image
  5. 使用設(shè)置變量值組件,在編輯表達(dá)式中填寫計(jì)算需要滑動(dòng)的距離腳本

    說明

    # 由于識別返回的坐標(biāo)位置是凹槽中心坐標(biāo)dis_code,需要滑動(dòng)的距離是滑塊中心坐標(biāo)到凹槽的中心坐標(biāo)之間的距離

    # 識別返回的坐標(biāo)x軸值減去滑塊一半的寬度即可

    image
  6. 使用元素拖拽組件,移動(dòng)滑塊到指定位置

    image