日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

艺赛旗(RPA)RPA8.0 解决滑动验证码完整流程

發布時間:2023/12/14 编程问答 32 豆豆
生活随笔 收集整理的這篇文章主要介紹了 艺赛旗(RPA)RPA8.0 解决滑动验证码完整流程 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

藝賽旗 RPA8.0全新首發免費下載 點擊下載
http://www.i-search.com.cn/index.html?from=line1

  • 前置(一個注意點)
    Note:
  • 有一種情況,若 windows 系統是在虛擬機中啟動的,則要考慮虛擬機與物理機的鼠標是否同步的問題。(此處以 Mac 系統啟動的虛機為例) 如下:

  • 2. 如果沒有將虛擬機與物理機的鼠標進行同步,則可能導致驗證碼識別過程,看不到鼠標點擊拖動的情形,以至于后續無法準確估算鼠標點擊拖動的位置信息。

  • 流程全覽
    在這里插入圖片描述](https://img-blog.csdnimg.cn/20190315133737544.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80NDQ0NzY4Nw==,size_16,color_FFFFFF,t_70)

  • 具體步驟說明
    3.1(以本場景為例)打開網站進行驗證碼識別過程

  • 測試地址:‘http://www.jq22.com/yanshi19009’(推薦使用“谷歌瀏覽器”打開)

    3.2 基于頁面美觀考慮,我們使用“序列”組件

    3.3 激活窗口并截圖


    Note:

  • 每次驗證前激活窗口,確保鼠標的點擊拖動有效;
  • 使用“截圖”控件截取整個驗證圖片。(為后續使用驗證碼識別器獲取相對位置信息作準備)截圖的返回值為一個路徑:C:\iS-RPA\temp\ZK5RVC6j.png
  • 3.4 識別驗證碼位置

    Note:

  • 將截圖的返回值(保存路徑)直接傳給驗證碼的接收值
  • 驗證碼類型說明:
  • 8000: 滑動驗證碼
    8001:坐標驗證碼(成語驗證等)
    1004:4 位英文數字
    2004:4 位純漢字

  • 組件原理也是通過后臺人工識別,識別得出驗證碼的坐標信息,因此不能保證識別一次完全準確
  • 3.5 位置處理
    獲取鼠標的相對位置信息(坐標僅相對于整個驗證截圖),即鼠標需要實際拖動的距離 = b

    輸出結果:

    3.6 彈出拖動距離的消息提示框
    每次拖動前,彈出位置處理得出的拖動距離。目的:可以更明確每次獲取的位置信息;同時有助于后續多次調節坐標位置

    Note:
    由下載論壇網站的破解滑動驗證碼工程文件(…/huadong/project.pro)發現如下規律:
    同樣的網站截取相同滑動驗證圖片,得到的參數信息并不同。使用原工程中截圖,在本機下執行原工程文件,鼠標不在原來初始位置點擊,而改變網頁整體位置后,可以實現鼠標點中初始位置。界面大致如下:

    結論:我們設定計算出的鼠標點擊拖動初始位置信息與電腦顯示屏大小相關
    3.7 代碼實現點擊鼠標拖動

    代碼如下:

    from ctypes import *
    from ctypes.wintypes import *

    def imouse_drag(x1, y1, x2, y2,button=‘left’,speed=10):

    (x1,y1),(x2,y2)分別表示:鼠標移動的初末坐標點

    try:dll = windll.LoadLibrary("../Com.Isearch.Func.AutoIt/AutoItX3.dll")

    對象為:本地的一個動態鏈接庫文件

    return dll.AU3_MouseClickDrag(button,x1,y1,x2,y2,speed)

    使用鼠標點擊拖動方法

    except Exception as e:raise e

    3.8 計算坐標參數值 - 獲取起始位置
    在這里插入圖片描述

    Note:
    實現點擊鼠標拖動的方法,我們需要得到 x1,y1,x2,y2 四個參數值。
    由“截圖”控件右邊屬性欄的位置參數信息,可根據以下計算公式得出:
    x1 = (左邊位置 + 預估值)/ 2
    (預估值:藍色滑塊的水平中心位置)
    y1 = y2 = (上邊位置 + 高度 - 預估值)/ 2
    (預估值:藍色滑塊的垂直中心位置)
    x2 = x1’ + b
    (此處 x1’可根據多次滑動驗證與缺口圖準確距離的偏差取平均值)

    3.9 異常處理 - 考慮驗證失敗情況
    在這里插入圖片描述

    思路:
    此處用 while 循環,條件設為 True,即:在死循環的條件下進行驗證碼的識別過程,直到識別成功;
    同時考慮異常處理的情況:若在驗證過程出現異常,即使用熱鍵 Ctrl+R 刷新頁面,進行下一次循環

    完整流程包:
    http://support.i-search.com.cn/upload/bbs/20190315/fe10decb07464dfa89ae81e644eda645_huadong.zip

    總結

    以上是生活随笔為你收集整理的艺赛旗(RPA)RPA8.0 解决滑动验证码完整流程的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。