CN120085957B 基于動(dòng)態(tài)跳級(jí)匹配和cv技術(shù)的桌面元素定位方法及系統(tǒng) (浙江實(shí)在智能科技有限公司)_第1頁
CN120085957B 基于動(dòng)態(tài)跳級(jí)匹配和cv技術(shù)的桌面元素定位方法及系統(tǒng) (浙江實(shí)在智能科技有限公司)_第2頁
CN120085957B 基于動(dòng)態(tài)跳級(jí)匹配和cv技術(shù)的桌面元素定位方法及系統(tǒng) (浙江實(shí)在智能科技有限公司)_第3頁
CN120085957B 基于動(dòng)態(tài)跳級(jí)匹配和cv技術(shù)的桌面元素定位方法及系統(tǒng) (浙江實(shí)在智能科技有限公司)_第4頁
CN120085957B 基于動(dòng)態(tài)跳級(jí)匹配和cv技術(shù)的桌面元素定位方法及系統(tǒng) (浙江實(shí)在智能科技有限公司)_第5頁
已閱讀5頁,還剩19頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

(19)國家知識(shí)產(chǎn)權(quán)局(12)發(fā)明專利地址310000浙江省杭州市余杭區(qū)余杭街專利權(quán)人實(shí)在智能(杭州)有限公司(72)發(fā)明人王賓同歐陽小剛王燦陳佳偉宋明黎陳存孫林君孫躍剛GO6F9/451(2018.0審查員張昕(74)專利代理機(jī)構(gòu)浙江永鼎律師事務(wù)所33233基于動(dòng)態(tài)跳級(jí)匹配和CV技術(shù)的桌面元素定態(tài)跳級(jí)匹配和CV技術(shù)的桌面元素定位方法及系發(fā)明具有能夠解決傳統(tǒng)RPA技術(shù)在動(dòng)態(tài)環(huán)境中的E2S1,在使用RPA技術(shù)定位拾取元素結(jié)構(gòu)信息時(shí),同時(shí)捕獲當(dāng)前時(shí)間點(diǎn)應(yīng)用的界面圖像,并使用計(jì)算機(jī)視覺技術(shù),提取用于定位元素位置的視覺數(shù)據(jù)信息;S2,在流程執(zhí)行過程中,結(jié)合RPA技術(shù)和計(jì)算機(jī)視覺技術(shù)進(jìn)行元素的定位和拾取,并提取出元素的結(jié)構(gòu)信息;S3,引入跳級(jí)匹配機(jī)制,通過動(dòng)態(tài)分析元素結(jié)構(gòu)信息的變化,自動(dòng)識(shí)別并設(shè)置跳級(jí)節(jié)步驟S2包括如下步驟:S21,優(yōu)先使用RPA技術(shù)定位進(jìn)行元素定位;S22,若使用RPA技術(shù)無法定位元素時(shí),則系統(tǒng)自動(dòng)切換到計(jì)算機(jī)視覺技術(shù),并根據(jù)已存儲(chǔ)的視覺數(shù)據(jù)信息解析計(jì)算機(jī)視覺技術(shù)拾取的界面內(nèi)容,同時(shí)將解析結(jié)果轉(zhuǎn)化為RPA技術(shù)可識(shí)別的目標(biāo)元素,最終得到目標(biāo)元素所在的位置信息;S23,根據(jù)目標(biāo)元素所在的位置信息,結(jié)合RPA技術(shù)實(shí)時(shí)定位拾取對(duì)應(yīng)位置的元素,并提取元素的結(jié)構(gòu)信息;步驟S3包括如下步驟:S31,將提取到的元素結(jié)構(gòu)信息與原有的元素結(jié)構(gòu)信息進(jìn)行對(duì)比,通過分析節(jié)點(diǎn)層級(jí)和節(jié)點(diǎn)屬性信息,判斷出存在差異的節(jié)點(diǎn);所述存在差異的節(jié)點(diǎn)包括產(chǎn)生變化的節(jié)點(diǎn)、多余的節(jié)點(diǎn)以及缺少的節(jié)點(diǎn);S32,對(duì)于存在差異的節(jié)點(diǎn),將符合預(yù)設(shè)判斷邏輯的節(jié)點(diǎn)設(shè)置為可跳級(jí)節(jié)點(diǎn),同時(shí)生成新的跳級(jí)元素結(jié)構(gòu)信息;不符合的節(jié)點(diǎn)則保持不變;S33,當(dāng)在元素層級(jí)結(jié)構(gòu)發(fā)生變化時(shí),系統(tǒng)跳過所述可跳級(jí)節(jié)點(diǎn),直接定位到目標(biāo)元素。2.根據(jù)權(quán)利要求1所述的基于動(dòng)態(tài)跳級(jí)匹配和CV技術(shù)的桌面元素定位方法,其特征在于,在步驟S1中,將提取到的視覺數(shù)據(jù)信息與RPA技術(shù)定位拾取到的元素結(jié)構(gòu)信息做數(shù)據(jù)關(guān)3.根據(jù)權(quán)利要求1所述的基于動(dòng)態(tài)跳級(jí)匹配和CV技術(shù)的桌面元素定位方法,其特征在4.根據(jù)權(quán)利要求1所述的基于動(dòng)態(tài)跳級(jí)匹配和CV技術(shù)的桌面元素定位方法,其特征在于,所述跳級(jí)元素結(jié)構(gòu)信息包括非跳級(jí)結(jié)構(gòu)信息和跳級(jí)結(jié)構(gòu)信息;所述非跳級(jí)結(jié)構(gòu)信息指從元素結(jié)構(gòu)的第一層節(jié)點(diǎn)開始,包含所有連續(xù)啟用的層級(jí)結(jié)構(gòu)集合;所述非跳級(jí)結(jié)構(gòu)信息,用于定位到所有非跳所述跳級(jí)結(jié)構(gòu)信息指從首個(gè)設(shè)置跳級(jí)的層級(jí)結(jié)構(gòu)開始,至最后一個(gè)啟用的層級(jí)結(jié)構(gòu)集合;所述跳級(jí)結(jié)構(gòu)信息,用于指導(dǎo)跳級(jí)匹配過程;所述跳級(jí)匹配過程包括在遇到動(dòng)態(tài)變化或不可用的節(jié)點(diǎn)時(shí),系統(tǒng)將根據(jù)跳級(jí)結(jié)構(gòu)信息跳過對(duì)應(yīng)節(jié)點(diǎn),直接定位到目標(biāo)元素。5.基于動(dòng)態(tài)跳級(jí)匹配和CV技術(shù)的桌面元素定位系統(tǒng),用于實(shí)現(xiàn)權(quán)利要求1-4任一項(xiàng)所述的基于動(dòng)態(tài)跳級(jí)匹配和CV技術(shù)的桌面元素定位方法,其特征在于,所述基于動(dòng)態(tài)跳級(jí)匹配和CV技術(shù)的桌面元素定位系統(tǒng)包括:元素結(jié)構(gòu)信息采集模塊,用于負(fù)責(zé)捕獲和提取桌面應(yīng)用中的元素結(jié)構(gòu)信息;計(jì)算機(jī)視覺計(jì)算模塊,用于負(fù)責(zé)處理元素結(jié)構(gòu)信息采集模塊捕獲的界面圖像,并提取用于定位元素的視覺數(shù)據(jù)信息;2/2頁2/2頁3元素結(jié)構(gòu)信息更新模塊,用于負(fù)責(zé)在流程執(zhí)行過程中動(dòng)態(tài)更新元素的結(jié)構(gòu)信息,即自動(dòng)設(shè)置跳級(jí)節(jié)點(diǎn);元素全鏈路定位模塊,用于負(fù)責(zé)在流程執(zhí)行過程中使用RPA技術(shù)進(jìn)行元素定位和操作;元素跳級(jí)定位模塊,用于通過分析新舊元素結(jié)構(gòu)信息的差異,自動(dòng)識(shí)別并設(shè)置跳級(jí)節(jié)點(diǎn),并在逐層匹配過程中跳過變化的節(jié)點(diǎn),直接定位到目標(biāo)元素。4基于動(dòng)態(tài)跳級(jí)匹配和CV技術(shù)的桌面元素定位方法及系統(tǒng)技術(shù)領(lǐng)域[0001]本發(fā)明屬于RPA技術(shù)領(lǐng)域,具體涉及基于動(dòng)態(tài)跳級(jí)匹配和CV技術(shù)的桌面元素定位方法及系統(tǒng)。背景技術(shù)[0002]RPA(RoboticProcessAutomation,機(jī)器人流程自動(dòng)化)是一種利用“數(shù)字員工”代替人進(jìn)行業(yè)務(wù)操作的方式及其相關(guān)的技術(shù)。本質(zhì)上,RPA是通過軟件自動(dòng)化技術(shù),模擬人業(yè)務(wù)動(dòng)作,最終達(dá)到流程自動(dòng)化處理、節(jié)約人力成本和提升處理效率的目的。[0003]RPA的核心技術(shù)之一是操作元素的定位拾取。例如,當(dāng)需要模擬人進(jìn)行按鈕點(diǎn)擊動(dòng)作時(shí),必須先定位到按鈕元素的位置。傳統(tǒng)的元素定位技術(shù)通常通過API接口或頁面源碼解析的方式,將頁面底層結(jié)構(gòu)信息提取并保存到計(jì)算機(jī)中。在執(zhí)行流程時(shí),系統(tǒng)會(huì)按照保存的結(jié)構(gòu)信息再次定位元素并進(jìn)行模擬操作。[0004]在RPA領(lǐng)域,CV(ComputerVision,計(jì)算機(jī)視覺)技術(shù)被廣泛應(yīng)用于元素定位和拾取。常見的方法包括目標(biāo)檢測(cè)和OCR(OpticalCharacterRecognition,光學(xué)字符識(shí)別)兩種技術(shù)。[0005]另外,WindowsUIAutomation(UIA)是一種用于桌面應(yīng)用程序自動(dòng)化的技術(shù),旨在為自動(dòng)化工具提供一種標(biāo)準(zhǔn)化的方式來訪問和操作桌面應(yīng)用的用戶界面元素。[0006]UIA技術(shù)的優(yōu)勢(shì)在于能夠直接與Windows操作系統(tǒng)兼容的桌面應(yīng)用進(jìn)行交互,支持對(duì)復(fù)雜界面的解析和操作。[0007]然而,上述現(xiàn)有的RPA機(jī)器人元素定位拾取方式和相關(guān)技術(shù)存在以下缺點(diǎn):[0009]傳統(tǒng)RPA技術(shù)通過解析界面布局和代碼,提取并保存元素的結(jié)構(gòu)信息,以供流程在執(zhí)行時(shí)按照保存的結(jié)構(gòu)信息再次定位元素進(jìn)行模擬操作。元素結(jié)構(gòu)信息通常包含了從窗口到目標(biāo)元素之間的所有元素層級(jí),以及每個(gè)層級(jí)對(duì)應(yīng)的特征信息。然而,當(dāng)已拾取元素的結(jié)構(gòu)發(fā)生細(xì)微變化時(shí),例如元素層級(jí)數(shù)量發(fā)生變化、某一層級(jí)的元素特征發(fā)生變化,或者元素本身的特征發(fā)生變化等,保存的元素結(jié)構(gòu)信息將失效,導(dǎo)致流程執(zhí)行失敗。在這種情況下,即使界面視覺上未發(fā)生較大變化,也需要人力重新定位拾取元素,增加了維護(hù)成本和人力投入。[0010]2.基于計(jì)算機(jī)視覺的元素操作具有局限性[0011]基于計(jì)算機(jī)視覺的元素定位拾取技術(shù),本質(zhì)上是通過對(duì)應(yīng)用界面圖像的識(shí)別與模擬鍵盤鼠標(biāo)操作相結(jié)合來實(shí)現(xiàn)的。然而,當(dāng)遇到需要操作的功能不能通過鍵盤鼠標(biāo)模式完成時(shí),基于計(jì)算機(jī)視覺的方式就無法滿足使用要求。例如,獲取或設(shè)置元素的屬性信息、樣式格式,或觸發(fā)元素的事件等功能,均無法通過計(jì)算機(jī)視覺的方式實(shí)現(xiàn)。此外,計(jì)算機(jī)視覺技術(shù)對(duì)圖像的清晰度、分辨率和環(huán)境光線等條件要求較高,且依賴于模型的準(zhǔn)確性和訓(xùn)練數(shù)據(jù)的質(zhì)量,這進(jìn)一步限制了其在復(fù)雜場(chǎng)景中的應(yīng)用。5[0013]WindowsUIAutomation(UIA)技術(shù)雖然能夠?yàn)樽烂鎽?yīng)用自動(dòng)化提供標(biāo)準(zhǔn)化的元素訪問和操作方式,但在實(shí)際應(yīng)用中也存在顯著的局限性。UIA通過解析桌面應(yīng)用的結(jié)構(gòu),生成DOM樹并提取目標(biāo)元素及其父級(jí)鏈路的屬性信息,以實(shí)現(xiàn)元素的定位和操作。然而,當(dāng)桌面應(yīng)用的界面布局發(fā)生變化,或者目標(biāo)元素的層級(jí)結(jié)構(gòu)或?qū)傩园l(fā)生調(diào)整時(shí),原有的元素頻繁更新元素結(jié)構(gòu)信息,這不僅增加了開發(fā)和維護(hù)成本,還對(duì)使用者的及時(shí)響應(yīng)能力提出了較高要求。[0014]4.桌面元素匹配中跳級(jí)匹配功能的局限性[0015]現(xiàn)有的RPA元素定位技術(shù)通常依賴于嚴(yán)格的層級(jí)匹配,缺乏跳級(jí)匹配功能。雖然WindowsUIAutomation(UIA)在控件視圖(ControlView)中提供遍歷后代節(jié)點(diǎn)匹配的能力,但這種能力僅限于控件視圖,而不適用于原始視圖(RawView)。原始視圖是UIA中更接近實(shí)際界面結(jié)構(gòu)的表示形式,它緊密遵循應(yīng)用程序的本機(jī)編程結(jié)構(gòu),因此是最詳細(xì)的可用桌面應(yīng)用中的靈活性和魯棒性。例如,當(dāng)桌面應(yīng)用的界面布局發(fā)生變化,或者某個(gè)父級(jí)元素的屬性或?qū)蛹?jí)結(jié)構(gòu)發(fā)生調(diào)整時(shí),傳統(tǒng)的層級(jí)匹配方法將無法適應(yīng)這種動(dòng)態(tài)變化,導(dǎo)致流程中斷。為了解決這一問題,使用者往往需要在RPA流程中增加大量判斷邏輯,例結(jié)構(gòu)分別任一符合要求的方法,甚至引入計(jì)算機(jī)視覺技術(shù)來代替?zhèn)鹘y(tǒng)的RPA元素定位技術(shù)。這些方法雖然可以在一定程度上解決問題,但無疑會(huì)顯著增加開發(fā)成本和維護(hù)成本。[0016]5.現(xiàn)有智能修復(fù)方案的局限性[0017]現(xiàn)有的智能修復(fù)方案雖然結(jié)合了傳統(tǒng)RPA技術(shù)和計(jì)算機(jī)視覺技術(shù),但在流程執(zhí)行[0018]修復(fù)方式單一:現(xiàn)有方案在計(jì)算機(jī)視覺模塊修復(fù)位置后,直接保存新元素的XPath結(jié)構(gòu),缺乏對(duì)新舊元素信息、結(jié)構(gòu)信息的對(duì)比分析。這導(dǎo)致修復(fù)過程的正確率較低,難以適應(yīng)復(fù)雜多變的界面結(jié)構(gòu)變化。[0019]適用性有限:由于缺乏對(duì)元素結(jié)構(gòu)變化的深入分析,現(xiàn)有方案在面對(duì)不同應(yīng)用場(chǎng)景時(shí)的適應(yīng)性較差。用戶無法參與修改跳級(jí)結(jié)構(gòu),靈活性不足。[0020]因此,設(shè)計(jì)一種能夠解決傳統(tǒng)RPA技術(shù)在動(dòng)態(tài)環(huán)境中的局限性,還能夠顯著提升元素定位的魯棒性和準(zhǔn)確性,且具有高效和靈活特點(diǎn)的基于動(dòng)態(tài)跳級(jí)匹配和CV技術(shù)的桌面元發(fā)明內(nèi)容[0021]本發(fā)明是為了克服現(xiàn)有技術(shù)中,現(xiàn)有的RPA機(jī)器人元素定位拾取方式,存在依賴于固定的元素結(jié)構(gòu)信息進(jìn)行元素定位,一旦元素層級(jí)或?qū)傩园l(fā)生變化,就會(huì)導(dǎo)致定位失敗的問題,提供了一種能夠解決傳統(tǒng)RPA技術(shù)在動(dòng)態(tài)環(huán)境中的局限性,還能夠顯著提升元素定位的魯棒性和準(zhǔn)確性,且具有高效和靈活特點(diǎn)的基于動(dòng)態(tài)跳級(jí)匹配和CV技術(shù)的桌面元素定位方法及系統(tǒng)。[0022]為了達(dá)到上述發(fā)明目的,本發(fā)明采用以下技術(shù)方案:[0023]基于動(dòng)態(tài)跳級(jí)匹配和CV技術(shù)的桌面元素定位方法,包括如下步驟:6[0024]S1,在使用RPA技術(shù)定位拾取元素結(jié)構(gòu)信息時(shí),同時(shí)捕獲當(dāng)前時(shí)間點(diǎn)應(yīng)用的界面圖像,并使用計(jì)算機(jī)視覺技術(shù),提取用于定位元素位置的視覺數(shù)據(jù)信息;[0025]S2,在流程執(zhí)行過程中,結(jié)合RPA技術(shù)和計(jì)算機(jī)視覺技術(shù)進(jìn)行元素的定位和拾取,并提取出元素的結(jié)構(gòu)信息;[0026]S3,引入跳級(jí)匹配機(jī)制,通過動(dòng)態(tài)分析元素結(jié)構(gòu)信息的變化,自動(dòng)識(shí)別并設(shè)置跳級(jí)[0027]作為優(yōu)選,在步驟S1中,將提取到的視覺數(shù)據(jù)信息與RPA技術(shù)定位拾取到的元素結(jié)構(gòu)信息做數(shù)據(jù)關(guān)聯(lián),并存儲(chǔ)在計(jì)算機(jī)中。[0029]S21,優(yōu)先使用RPA技術(shù)定位進(jìn)行元素定位;[0030]S22,若使用RPA技術(shù)無法定位元素時(shí),則系統(tǒng)自動(dòng)切換到計(jì)算機(jī)視覺技術(shù),并根據(jù)已存儲(chǔ)的視覺數(shù)據(jù)信息解析計(jì)算機(jī)視覺技術(shù)拾取的界面內(nèi)容,同時(shí)將解析結(jié)果轉(zhuǎn)化為RPA技術(shù)可識(shí)別的目標(biāo)元素,最終得到目標(biāo)元素所在的位置信息;[0031]S23,根據(jù)目標(biāo)元素所在的位置信息,結(jié)合RPA技術(shù)實(shí)時(shí)定位拾取對(duì)應(yīng)位置的元素,并提取元素的結(jié)構(gòu)信息。[0033]S31,將提取到的元素結(jié)構(gòu)信息與原有的元素結(jié)構(gòu)信息進(jìn)行對(duì)比,通過分析節(jié)點(diǎn)層級(jí)和節(jié)點(diǎn)屬性信息,判斷出存在差異的節(jié)點(diǎn);所述存在差異的節(jié)點(diǎn)包括產(chǎn)生變化的節(jié)點(diǎn)、多余的節(jié)點(diǎn)以及缺少的節(jié)點(diǎn);[0034]S32,對(duì)于存在差異的節(jié)點(diǎn),將符合預(yù)設(shè)判斷邏輯的節(jié)點(diǎn)設(shè)置為可跳級(jí)節(jié)點(diǎn),同時(shí)生成新的跳級(jí)元素結(jié)構(gòu)信息;不符合的節(jié)點(diǎn)則保持不變。[0036]S33,當(dāng)在元素層級(jí)結(jié)構(gòu)發(fā)生變化時(shí),系統(tǒng)跳過所述可跳級(jí)節(jié)點(diǎn),直接定位到目標(biāo)[0037]作為優(yōu)選,在步驟S3中,用戶可根據(jù)實(shí)際需求,在編輯元素結(jié)構(gòu)時(shí)主動(dòng)設(shè)置可跳級(jí)[0038]作為優(yōu)選,所述跳級(jí)元素結(jié)構(gòu)信息包括非跳級(jí)結(jié)構(gòu)信息和跳級(jí)結(jié)構(gòu)信息;[0039]所述非跳級(jí)結(jié)構(gòu)信息指從元素結(jié)構(gòu)的第一層節(jié)點(diǎn)開始,包含所有連續(xù)啟用的層級(jí)結(jié)構(gòu)集合;所述非跳級(jí)結(jié)構(gòu)信息,用于定位到所有非跳級(jí)的元素,作為跳級(jí)匹[0040]所述跳級(jí)結(jié)構(gòu)信息指從首個(gè)設(shè)置跳級(jí)的層級(jí)結(jié)構(gòu)開始,至最后一個(gè)啟用的層級(jí)結(jié)構(gòu)集合;所述跳級(jí)結(jié)構(gòu)信息,用于指導(dǎo)跳級(jí)匹配過程;所述跳級(jí)匹配過程包括在遇到動(dòng)態(tài)變化或不可用的節(jié)點(diǎn)時(shí),系統(tǒng)將根據(jù)跳級(jí)結(jié)構(gòu)信息跳過對(duì)應(yīng)節(jié)點(diǎn),直接定位到目標(biāo)元素。[0041]本發(fā)明還提供了基于動(dòng)態(tài)跳級(jí)匹配和CV技術(shù)的桌面元素定位系統(tǒng)包括:[0042]元素結(jié)構(gòu)信息采集模塊,用于負(fù)責(zé)捕獲和提取桌面應(yīng)用中的元素結(jié)構(gòu)信息;[0043]計(jì)算機(jī)視覺計(jì)算模塊,用于負(fù)責(zé)處理元素結(jié)構(gòu)信息采集模塊捕獲的界面圖像,并提取用于定位元素的視覺數(shù)據(jù)信息;[0044]元素結(jié)構(gòu)信息更新模塊,用于負(fù)責(zé)在流程執(zhí)行過程中動(dòng)態(tài)更新元素的結(jié)構(gòu)信息,即自動(dòng)設(shè)置跳級(jí)節(jié)點(diǎn);[0045]元素全鏈路定位模塊,用于負(fù)責(zé)在流程執(zhí)行過程中使用RPA技術(shù)進(jìn)行元素定位和7[0046]元素跳級(jí)定位模塊,用于通過分析新舊元素結(jié)構(gòu)信息的差異,自動(dòng)識(shí)別并設(shè)置跳級(jí)節(jié)點(diǎn),并在逐層匹配過程中跳過變化的節(jié)點(diǎn),直接定位到目標(biāo)元素。[0047]本發(fā)明與現(xiàn)有技術(shù)相比,有益效果是:(1)本發(fā)明提出了一種結(jié)合傳統(tǒng)RP算機(jī)視覺技術(shù)和動(dòng)態(tài)跳級(jí)匹配機(jī)制的綜合解決方案;通過動(dòng)態(tài)分析元素結(jié)構(gòu)信息的變化,本發(fā)明能夠自動(dòng)識(shí)別并設(shè)置跳級(jí)節(jié)點(diǎn),從而在元素層級(jí)結(jié)構(gòu)發(fā)生變化時(shí),依然能夠準(zhǔn)確匹配目標(biāo)元素;(2)本發(fā)明還支持用戶根據(jù)實(shí)際需求手動(dòng)設(shè)置跳級(jí)匹配節(jié)點(diǎn),進(jìn)一步增強(qiáng)了本發(fā)明方案的靈活性和適應(yīng)性;(3)本發(fā)明不僅解決了傳統(tǒng)RPA技術(shù)在動(dòng)態(tài)環(huán)境中的局限性,還顯著提升了元素定位的魯棒性和準(zhǔn)確性,為桌面自動(dòng)化領(lǐng)域提供了一種高效且靈活的解決方案。附圖說明[0048]圖1為本發(fā)明基于動(dòng)態(tài)跳級(jí)匹配和CV技術(shù)的桌面元素定位方法及系統(tǒng)的一種原理[0050]圖3為本發(fā)明中跳級(jí)元素結(jié)構(gòu)分類的一種示意圖。具體實(shí)施方式[0051]為了更清楚地說明本發(fā)明實(shí)施例,下面將對(duì)照附圖說明本發(fā)明的具體實(shí)施方式。顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實(shí)施例,對(duì)于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動(dòng)的前提下,還可以根據(jù)這些附圖獲得其他的附圖,并獲得其他的實(shí)施方式。[0052]如圖1所示,本發(fā)明提供了基于動(dòng)態(tài)跳級(jí)匹配和CV技術(shù)的桌面元素定位方法,具體過程如下:[0053]首先,在使用傳統(tǒng)的RPA技術(shù)定位拾取元素結(jié)構(gòu)信息時(shí),同時(shí)捕獲當(dāng)前時(shí)間點(diǎn)應(yīng)用的界面圖像,并使用基于計(jì)算機(jī)視覺的元素拾取技術(shù),提取能夠準(zhǔn)確定位元素位置的計(jì)算機(jī)視覺數(shù)據(jù)信息。將提取到的計(jì)算機(jī)視覺數(shù)據(jù)信息與傳統(tǒng)的RPA技術(shù)定位拾取到的元素結(jié)構(gòu)信息做數(shù)據(jù)關(guān)聯(lián),并存儲(chǔ)在計(jì)算機(jī)中。[0054]其次,在流程執(zhí)行過程中,優(yōu)先使用傳統(tǒng)的RPA技術(shù)定位拾取到的元素結(jié)構(gòu)信息定位元素。當(dāng)使用傳統(tǒng)的RPA技術(shù)定位拾取到的元素結(jié)構(gòu)信息無法定位元素時(shí),則使用關(guān)聯(lián)的計(jì)算機(jī)視覺數(shù)據(jù)信息結(jié)合計(jì)算機(jī)視覺技術(shù)計(jì)算元素在界面中的位置。如果元素僅是結(jié)構(gòu)變化、文案變化、樣式變化,但整體的界面布局并無變化,則必定能夠得到目標(biāo)元素所在的位[0055]最后,按照計(jì)算機(jī)視覺技術(shù)計(jì)算得到的位置信息,結(jié)合傳統(tǒng)的RPA技術(shù)實(shí)時(shí)定位拾取該位置的元素,并提取元素的結(jié)構(gòu)信息。隨后,將提取到的元素結(jié)構(gòu)信息與原有的元素結(jié)構(gòu)信息進(jìn)行對(duì)比,通過分析節(jié)點(diǎn)層級(jí)和節(jié)點(diǎn)屬性等信息,判斷哪些節(jié)點(diǎn)產(chǎn)生了變化、哪些是多余的、哪些是缺少的。對(duì)于存在差異的節(jié)點(diǎn),符合預(yù)設(shè)判斷邏輯的節(jié)點(diǎn)將被設(shè)置為可跳級(jí)節(jié)點(diǎn),不符合要求的節(jié)點(diǎn)則保持不變。在逐層匹配過程中,遇到可跳級(jí)節(jié)點(diǎn)時(shí),將按照本發(fā)明方法執(zhí)行跳級(jí)匹配。8[0056]此外,用戶還可以根據(jù)自己的觀察,主動(dòng)在編輯元素結(jié)構(gòu)時(shí)設(shè)置可跳級(jí)節(jié)點(diǎn)。在逐層匹配過程中,遇到可跳級(jí)節(jié)點(diǎn)時(shí),同樣按照本發(fā)明方法執(zhí)行跳級(jí)匹配。這一功能不僅提高了RPA流程的靈活性和魯棒性,還減少了因界面變化導(dǎo)致的維護(hù)成本和開發(fā)復(fù)雜性。針對(duì)現(xiàn)有智能修復(fù)方案的局限性,本發(fā)明通過對(duì)比新舊元素結(jié)構(gòu)信息,不僅提高了修復(fù)的正確率,還增強(qiáng)了方案的適用性和用戶參與度。用戶可以主動(dòng)設(shè)置跳級(jí)節(jié)點(diǎn),進(jìn)一步優(yōu)化匹配過程。[0057]綜上所述,本發(fā)明針對(duì)現(xiàn)有RPA技術(shù)在桌面元素自動(dòng)化中的不足,提出了一種新的解決方案。通過動(dòng)態(tài)分析元素結(jié)構(gòu)信息的變化,本發(fā)明能夠自動(dòng)識(shí)別并設(shè)置跳級(jí)節(jié)點(diǎn),從而在元素層級(jí)結(jié)構(gòu)發(fā)生變化時(shí),依然能夠準(zhǔn)確匹配目標(biāo)元素。此外,用戶還可以根據(jù)實(shí)際需求,在編輯元素結(jié)構(gòu)時(shí)主動(dòng)設(shè)置跳級(jí)節(jié)點(diǎn),進(jìn)一步增強(qiáng)流程的靈活性和魯棒性。[0058]在流程執(zhí)行過程中,傳統(tǒng)的RPA技術(shù)依賴于固定的元素結(jié)構(gòu)信息進(jìn)行元素定位,一旦元素層級(jí)或?qū)傩园l(fā)生變化,就會(huì)導(dǎo)致定位失敗。而本發(fā)明通過引入跳級(jí)匹配機(jī)制,在元素結(jié)構(gòu)定位過程中,能夠提前識(shí)別并跳過那些發(fā)生變化的節(jié)點(diǎn),直接定位到目標(biāo)元素。這種動(dòng)態(tài)跳級(jí)匹配方式不僅提高了定位的準(zhǔn)確性,還減少了因界面變化導(dǎo)致的流程中斷風(fēng)險(xiǎn)。同[0059]另外,又如圖1所示,本發(fā)明還提供了基于動(dòng)態(tài)跳級(jí)匹配和CV技術(shù)的桌面元素定位[0060]1.元素結(jié)構(gòu)信息采集模塊[0061]元素結(jié)構(gòu)信息采集模塊是本發(fā)明的基礎(chǔ)模塊,負(fù)責(zé)捕獲和提取桌面應(yīng)用中的元素的屬性信息,并生成可序列化的元素結(jié)構(gòu)信息。同時(shí),該模塊還負(fù)責(zé)捕獲當(dāng)前時(shí)間點(diǎn)的應(yīng)用界面圖像,并將其與元素結(jié)構(gòu)信息關(guān)聯(lián)存儲(chǔ)。這一過程確保了在后續(xù)流程執(zhí)行中,系統(tǒng)能夠同時(shí)利用結(jié)構(gòu)信息和視覺數(shù)據(jù)進(jìn)行元素定位。[0062]2.計(jì)算機(jī)視覺計(jì)算模塊[0063]計(jì)算機(jī)視覺計(jì)算模塊是本發(fā)明的核心模塊之一,負(fù)責(zé)處理元素結(jié)構(gòu)信息采集模塊捕獲的界面圖像,并提取可用于定位元素的視覺數(shù)據(jù)。該模塊采用先進(jìn)的計(jì)算機(jī)視覺技術(shù),如目標(biāo)檢測(cè)和OCR識(shí)別,對(duì)界面圖像進(jìn)行分析,提取目標(biāo)元素的視覺特征信息。當(dāng)傳統(tǒng)RPA技術(shù)因元素結(jié)構(gòu)變化無法定位目標(biāo)元素時(shí),計(jì)算機(jī)視覺計(jì)算模塊將根據(jù)已提取的視覺數(shù)據(jù),計(jì)算目標(biāo)元素在界面中的位置信息,為元素結(jié)構(gòu)信息更新模塊實(shí)現(xiàn)自動(dòng)跳級(jí)設(shè)置提供基礎(chǔ)。[0064]3.元素結(jié)構(gòu)信息更新模塊[0065]元素結(jié)構(gòu)信息更新模塊負(fù)責(zé)在流程執(zhí)行過程中動(dòng)態(tài)更新元素的結(jié)構(gòu)信息,即自動(dòng)設(shè)置跳級(jí)節(jié)點(diǎn)。當(dāng)計(jì)算機(jī)視覺計(jì)算模塊成功定位目標(biāo)元素后,該模塊將提取最新的元素結(jié)構(gòu)信息,并與原有的結(jié)構(gòu)信息進(jìn)行對(duì)比,分析節(jié)點(diǎn)層級(jí)和屬性的變化,完成自動(dòng)識(shí)別并設(shè)置和更新跳級(jí)節(jié)點(diǎn)操作。這一過程確保了系統(tǒng)能夠?qū)崟r(shí)反映界面的變化,提高了RPA流程的穩(wěn)定性和準(zhǔn)確性。[0066]4.元素全鏈路定位模塊[0067]元素全鏈路定位模塊(傳統(tǒng)RPA元素匹配模塊)是本發(fā)明的執(zhí)行模塊,負(fù)責(zé)在流程執(zhí)行過程中使用傳統(tǒng)的RPA技術(shù)進(jìn)行元素定位和操作。該模塊優(yōu)先使用元素結(jié)構(gòu)信息采集模塊提取的元素結(jié)構(gòu)信息進(jìn)行逐層匹配,以實(shí)現(xiàn)高效的元素定位。當(dāng)檢測(cè)到因元素結(jié)構(gòu)變9化導(dǎo)致匹配失敗時(shí),模塊將自動(dòng)觸發(fā)計(jì)算機(jī)視覺計(jì)算模塊,獲取目標(biāo)元素的視覺位置信息,并根據(jù)該信息更新元素結(jié)構(gòu)信息,從而確保流程能夠繼續(xù)執(zhí)行。[0068]5.元素跳級(jí)定位模塊[0069]元素跳級(jí)定位模塊(動(dòng)態(tài)跳級(jí)匹配模塊)是本發(fā)明的核心創(chuàng)新模塊,負(fù)責(zé)處理元素層級(jí)結(jié)構(gòu)變化帶來的挑戰(zhàn)。該模塊通過分析新舊元素結(jié)構(gòu)信息的差異,自動(dòng)識(shí)別并設(shè)置跳級(jí)節(jié)點(diǎn),從而在逐層匹配過程中跳過變化的節(jié)點(diǎn),直接定位到目標(biāo)元素。這一機(jī)制不僅提高了流程的魯棒性和靈活性,還顯著減少了因界面變化導(dǎo)致的維護(hù)成本。[0070]基于本發(fā)明的技術(shù)方案,以如下案例場(chǎng)景來說明本發(fā)明在實(shí)際應(yīng)用的實(shí)施過程,具體應(yīng)用實(shí)施方案如下:[0071]本實(shí)施例以一個(gè)復(fù)雜的桌面應(yīng)用——內(nèi)嵌網(wǎng)頁的管理系統(tǒng)客戶端為例,該客戶端的界面元素結(jié)構(gòu)在運(yùn)行時(shí)可能會(huì)發(fā)生變化,導(dǎo)致傳統(tǒng)的RPA技術(shù)無法準(zhǔn)確匹配目標(biāo)元素。[0073]該管理系統(tǒng)客戶端包含多個(gè)層級(jí)的元素結(jié)構(gòu),例如:頂層窗口、中間層的導(dǎo)航欄、底層的具體操作按鈕等。[0074]在實(shí)際運(yùn)行中,由于頁面更新或A/B測(cè)試,導(dǎo)航欄的層級(jí)結(jié)構(gòu)可能會(huì)發(fā)生變化。例如,導(dǎo)航欄中的某些元素可能被重新排列或替換,導(dǎo)致傳統(tǒng)的逐層匹配方式無法找到目標(biāo)[0075]元素結(jié)構(gòu)信息采集模塊:[0076]通過傳統(tǒng)的RPA技術(shù)解析桌面應(yīng)用的DOM樹,提取目標(biāo)元素及其父級(jí)鏈路的屬性信息,并生成可序列化的元素結(jié)構(gòu)信息。[0077]同時(shí),捕獲當(dāng)前時(shí)間點(diǎn)的應(yīng)用界面圖像、元素截圖、元素大小等信息,并將其與元素結(jié)構(gòu)信息關(guān)聯(lián)存儲(chǔ)。[0078]將采集到的元素結(jié)構(gòu)信息和界面圖像發(fā)送到計(jì)算機(jī)視覺計(jì)算模塊,計(jì)算機(jī)視覺模塊接收界面的當(dāng)前圖像,通過目標(biāo)檢測(cè)和OCR技術(shù)提取視覺數(shù)據(jù),并將提取數(shù)據(jù)與元素結(jié)構(gòu)信息關(guān)聯(lián)存儲(chǔ)。[0079]元素全鏈路定位模塊(傳統(tǒng)RPA元素匹配模塊):[0080]在流程執(zhí)行過程中,優(yōu)先使用采集到的元素結(jié)構(gòu)信息進(jìn)行逐層匹配。[0081]由于導(dǎo)航欄的層級(jí)結(jié)構(gòu)發(fā)生變化,傳統(tǒng)的逐層匹配方式無法找到目標(biāo)操作按鈕。[0084]計(jì)算機(jī)視覺模塊接收界面的當(dāng)前圖像,結(jié)合在拾取過程中提取的視覺數(shù)據(jù),通過目標(biāo)檢測(cè)和OCR技術(shù)提取當(dāng)前界面的視覺數(shù)據(jù),計(jì)算目標(biāo)操作按鈕在界面中的位置信息。[0085]將計(jì)算得到的位置信息傳遞給元素結(jié)構(gòu)信息更新模塊。[0087]接收到計(jì)算機(jī)視覺模塊傳遞的位置信息后,元素結(jié)構(gòu)信息更新模塊根據(jù)計(jì)算機(jī)視覺計(jì)算模塊提供的位置信息,實(shí)時(shí)獲取一個(gè)傳統(tǒng)的RPA元素,提取目標(biāo)元素及其父級(jí)鏈路的屬性信息,并生成一個(gè)全新的、可序列化的元素結(jié)構(gòu)信息。[0089]使用自動(dòng)設(shè)置跳級(jí)節(jié)點(diǎn)的新元素結(jié)構(gòu)信息傳遞給元素跳級(jí)定位模塊(動(dòng)態(tài)跳級(jí)匹配模塊)。如果能正常匹配元素,且匹配元素符合元素特征相似度的閾值,則認(rèn)為跳級(jí)設(shè)置[0090]將自動(dòng)設(shè)置跳級(jí)后的元素結(jié)構(gòu)信息存儲(chǔ),并將最新匹配到的元素反饋給傳統(tǒng)RPA調(diào)整元素結(jié)構(gòu),或重新采集元素。[0091]元素跳級(jí)定位模塊(動(dòng)態(tài)跳級(jí)匹配模塊):[0092]如圖2所示,元素跳級(jí)定位模塊接收來自元素結(jié)構(gòu)信息更新模塊的跳級(jí)元素結(jié)構(gòu)信息后,將跳級(jí)元素結(jié)構(gòu)信息分為兩部分,如圖3所示,包括非跳級(jí)結(jié)構(gòu)信息和跳級(jí)結(jié)構(gòu)信[0093]非跳級(jí)結(jié)構(gòu)信息:從元素結(jié)構(gòu)的第一層節(jié)點(diǎn)開始,包含所有連續(xù)啟用的層級(jí)結(jié)構(gòu)集合。這部分結(jié)構(gòu)信息用于定位到所有非跳級(jí)的元素,作為跳級(jí)匹配的起始點(diǎn)。[0094]跳級(jí)結(jié)構(gòu)信息:從首個(gè)設(shè)置跳級(jí)的層級(jí)結(jié)構(gòu)開始,至最后一個(gè)啟用的層級(jí)結(jié)構(gòu)集合。這部分結(jié)構(gòu)信息用于指導(dǎo)跳級(jí)匹配過程,特別是在遇到動(dòng)態(tài)變化或不可用的節(jié)點(diǎn)時(shí),系統(tǒng)將根據(jù)跳級(jí)結(jié)構(gòu)信息跳過這些節(jié)點(diǎn),直接定位到目標(biāo)元素。[0095]如圖2所示,使用非跳級(jí)結(jié)構(gòu)信息,從第一層節(jié)點(diǎn)開始,逐層匹配并定位到所有連續(xù)啟用的元素。這些元素作為跳級(jí)匹配的起始點(diǎn)。遍歷這些起始元素的DOM樹結(jié)構(gòu),提取每一個(gè)葉節(jié)點(diǎn)的唯一標(biāo)識(shí)(pathkey),該標(biāo)識(shí)由元素的類型和在父級(jí)中的位置等信息組合生[0096]根據(jù)跳級(jí)結(jié)構(gòu)信息,提取跳級(jí)層級(jí)位置、元素類型、在父級(jí)中的位置等關(guān)鍵信息,生成跳級(jí)路徑(jumppathkey)。使用正則表達(dá)式匹配所有葉節(jié)點(diǎn)的唯一標(biāo)識(shí)(pathkey),篩選出符合跳級(jí)路徑的葉節(jié)點(diǎn)。[0097]對(duì)于每個(gè)符合跳級(jí)路徑的葉節(jié)點(diǎn),使用其祖先元素集合與跳級(jí)結(jié)構(gòu)信息進(jìn)行匹匹配成功,將匹配到的節(jié)點(diǎn)作為下一個(gè)匹配的起始節(jié)點(diǎn),繼續(xù)執(zhí)行匹配過程,直到完成整個(gè)跳級(jí)路徑的匹配。[0098]最終將匹配結(jié)果返回給傳統(tǒng)RPA模塊,確保后續(xù)流程能夠順利執(zhí)行。如果匹配失敗,記錄失敗原因,并提供相應(yīng)的調(diào)試信息,方便用戶手動(dòng)調(diào)整或重新采集元

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論