呂曉龍 王能



收稿日期:2023-04-08
基金項目:德州學院大學生創新創業訓練項目(X202210448023);山東省社會科學規劃研究項目(21CSDJ12)
DOI:10.19850/j.cnki.2096-4706.2023.22.001
摘? 要:針對智慧校園中各種工作操作規則固定、重復性高、附加值低的問題,文章探索了RPA在智慧校園應用中的智能識別這一關鍵技術,介紹了RPA流程機器人的基本概念,分析了傳統識別定位方式的工作原理及弊端,提出用圖像智能識別定位方式來解決問題,并詳細介紹了圖像智能識別技術的關鍵性Python代碼,結果表明,該方法在RPA流程操作中定位更加準確,出錯率低并能有效解決界面出現彈窗等錯誤問題。
關鍵詞:RPA;智慧校園;智能識別
中圖分類號:TP311? 文獻標識碼:A? 文章編號:2096-4706(2023)22-0001-04
Research on the Key Technology of Intelligent Identification of RPA in Smart Campus Application
LYU Xiaolong, WANG Neng
(School of Computer and Information, Dezhou University, Dezhou? 253023, China)
Abstract: In view of the fixed operation rules, high repeatability and low added value in smart campus ' various work, this paper explores the key technology of intelligent recognition in the application of RPA in smart campuses. It introduces the basic concept of RPA process robot, analyzes the working principle and disadvantages of traditional identification and positioning, put forward using the image intelligent recognition positioning to solve the problem, and introduces the key Python code of intelligent image recognition technology. The results show that the method is more accurate in RPA process operation, the error rate is low and can effectively solve the error problems such as interface popover.
Keywords: RPA; smart campus; intelligent recognition
0? 引? 言
RPA技術在“智慧教育創新發展行動”背景下被廣泛應用于智慧校園建設,它可以有效地改善學生檔案信息的錄入、研究成果篩選與統計、考評信息統計與分析等傳統的手工勞動[1],實現流程的自動化,使其變得更加高效、精準,從而解放手工勞動力、提高工作效率、降低工作失誤[2]。
本文主要探索了RPA在智慧校園應用中的智能識別這一關鍵技術,即對各種界面元素自動識別和分類,實現智能化識別與定位,從而使RPA流程機器人能跟人一樣,對界面進行判斷,找到準確的元素自動進行操作,進而準確完成復雜信息系統的自動流程操作。
1? RPA在智慧校園中的應用
1.1? RPA簡介及關鍵技術
機器人流程自動化(Robotic process automation, RPA),是為了代替繁雜人工而設計的,通過模仿最終用戶在電腦的手動操作方式[3],提供了另一種方式來使最終用戶手動操作流程自動化[4]。利用RPA控制器對軟件機器人進行部署與管理。包括啟動/停止機器人的運行,實現信息統一管理,提供數據可視化圖表展示,包括信息匯集、用戶管理、機器人管理、系統管理、執行管理。如果確定的業務流程需要大量的PC運行流程,比較合適的方式是生成器把流程先上傳到控制器,再由控制器統一發給各個運行器,并統一指揮各個運行器執行流程。既然是模仿手動操作,所以RPA的關鍵技術就是對如何對界面進行判斷,識別出要操作的元素的位置,從而控制鼠標進行自動操作。
1.2? RPA機器人在智慧校園中的主要應用
1.2.1? 課程注冊與課程表設計
利用自動化,檢查學生參加該課程的資格標準,核實信息,列出學生名單,根據各個班級和各個老師的空余時間分布來設計一個兩者都空閑并且時間安排合理的課表,在遇到突發情況時,向RPA機器人發送請求,也可以及時更改課表發送信息給學生。
1.2.2? 建立學生檔案
關于學生檔案的管理,學校檔案部在接收學生信息的同時,需要將這些常規信息,包括姓名、年齡、性別、學號等數據,輸入到學校檔案管理網中。用戶只需要操作一次,RPA機器人就會記錄用戶的操作軌跡,并自動登錄系統,將信息統一輸入系統中。
1.2.3? 學生班級考勤管理
自動化考勤管理系統,主動提醒和上報到老師和班級。考勤跟蹤系統,數據處理和自動異常通信,以及完整的報告功能。并可以根據學生提交的表格或者考勤情況,RPA能夠自動評價和生成評分各種問題。
1.2.4? 學生請假條件自動審批
根據請假條例,根據不同的病情和請假的天數來確定請假的審核等級并分類處理,如果是比較嚴重,RPA自動審批生成圖表并發送信息給導員,不需要導員對于那些簡單的事情過多的誤時,可以通過看新生成的圖表來了解當天的請假情況。
2? 傳統RPA的識別定位
傳統中的RPA技術主要是利用PyAutoGUI模塊(模擬鍵盤、鼠標在相應的頁面位置進行操作)通過對鼠標操作先獲取鼠標位置后由這個位置向四面八方延伸,在獲取屏幕的分辨率進而確認鼠標在整個電腦中的坐標進而獲得有電腦屏幕大小的坐標系,后通過將鼠標移到需要操作的位置,然后同樣使用PyAutoGUI模塊來鎖定目標的位置按照之前的方式再一次確定坐標,之后就可以進行點擊左鍵右鍵等簡單的操作[5]。
其次還可以依據網頁標簽實現抓取大多數Web網頁源代碼都是通過HTML語言編寫的,頁面中的數據通過各種HTML標簽所標識,如
、利用PyAutoGUI模塊位置定位的方法弊端是沒有過多的判斷,很容易因為彈窗或者廣告覆蓋而出現操作錯誤,并且在頁面轉化時需要費盡心思去考慮兩端之間的配置。對于依據網頁標簽就如前面談到的位置定位一樣,這些特征值必須唯一,并保持不變,否則機器人再次打開網頁時,就查詢不到該元素了。這兩種技術實現的按鍵精靈必須是完整的一個流程,中間不能間斷,否則會發生異常。
3? 圖像智能識別定位
圖像智能識別關鍵技術解決了傳統定位的弊端,它不只是對目標進行單純的點擊等簡單操作,而是著重實現鍵盤輸入熱鍵組合和循環等功能,先提前將各種熱鍵和真實的作用在代碼中體現出來,使用戶可以調用出這些功能。簡而言之就是用戶通過提前截圖規劃Excel表的方式設定RPA機器人的運行過程,在運行中通過圖像去定位,進而進行點擊或輸入等操作,可以通過提前設置好的熱鍵進行鍵盤操作,也可以對操作完成后的結果進行保存。
以全校學生檔案管理信息系統中學生新入學報道時的錄取信息為例,對于每一位學生的檔案錄入,信息錄用人員都需要在全校學生檔案管理信息系統中進行同樣的操作流程,即將每個新入學的學生的信息,如姓名、年齡、身份證號等,輸入到系統數據庫中,再根據學生信息選擇分配班級并再次輸入到數據庫中。在前臺界面上主要的操作流程是在瀏覽器中輸入網址后輸入賬號密碼,進入系統錄入界面中點擊“新增”按鈕打開“新增學生”窗口,根據提示輸入相應的個人信息等一系列操作,其中每進行一次學生信息錄入,總共需要進行鼠標點擊10次(每次1.0 s),鍵盤輸入40 s,等待20 s,所以手動錄入每位學生的信息總共要耗時約70 s,若每年高校錄取新生約5 000人,要解決這些問題就需要90多個小時,假定按照一個老師每天有效輸入5個小時,再加上處理錯誤,完成這些任務量至少需要一個月才能完成[5]。如果這些業務的操作使用RPA中傳統的識別定位方式錄入,雖然效率提高了,但會出現識別定位不準確或無法處理彈窗等問題,這時就需要人工進行干預,所以仍然需要消耗勞動力和時間影響工作效率,至少需要一個星期才能完成任務。如果使用RPA智能識別技術進行在線實時錄入,就完全可以解決這些問題,提高效率,減少出錯率。具體流程如下:
1)將流程的各個頁面和窗口中截取每次操作的定位圖標保存為png格式(圖片必須是唯一的),提供給RPA智能識別機器人進行識別定位,用來找到在屏幕上的位置。將所有的png格式的圖片保存在一個相同的文件夾內如圖1所示。
2)將進行操作的命令存放到cmd.xls文檔中,如圖2所示,第一列是指令的類型,第二列是指令的內容如圖片名稱png、等待時間等,第三列表示重復次數。每一步對應的操作類型都需要在文檔中配置(不局限于某一個系統,可以根據個別系統單獨設置)。
3)設置錯誤預處理,通過代碼的運行進行登錄,可以看到計算機打開管理員界面,然后開始按照Excel文件中的指令進行數據的處理,如果沒有發現彈窗則繼續進程循環上一次的操作直到數據完全處理后結束。
當遇到彈窗問題無法處理時PRA機器人就會按照設置的預處理使用關閉窗口或者管理員窗口最大化的方式進行錯誤處理,然后繼續進程,直到數據完全處理后結束。具體流程圖如圖3所示。
對突然遇到跳出彈窗的問題,解決方法可以在每一次運行前增加一個簡單的驗證就可以了,當發生意外后,可以選擇通過鍵盤操作頁面最大化,或者關閉彈窗等方式解決。出現錯誤跳出的解決關鍵代碼如下。直接可以通過使用鍵盤輸入直接進行錯誤處理。例如在自動輸入學生檔案時,不管是輸入界面發生什么變化,鼠標都能準確找到要操作的模塊,特別是突然跳出彈窗覆蓋原來的界面時,鼠標還會選擇操作頁面最大化來解決問題。
處理錯誤的關鍵代碼:
reTry = 1
if sheet1.row(i)[2].ctype == 2 and sheet1.row(i)[2].value != 0:
reTry = sheet1.row(i)[2].value
inputValue = sheet1.row(i)[1].value
hotkeyGroup(reTry,inputValue)
time.sleep(0.5)
4)通過圖像去定義位置,RPA流程機器人進行輪尋等待尋找(不需要費盡心思去考慮兩端之間的配置),識別定位由于不知道點擊圖片所在的確切屏幕坐標和點擊圖片的位置可能發生變化,則不能調用moveTo()和click()函數。每次啟動時,圖片可能會出現在稍有不同的位置,從而使每次都需要重新找到坐標。但是,如果使用圖像定位的方式,可以調用該locateCenterOnScreen(img,confidence=0.9)函數以獲取屏幕坐標。返回值為4整數元組(左,上,寬度,高度)。可以傳遞該元組center()以獲取該區域中心的X和Y坐標。具體代碼如下。
圖片識別定位功能的關鍵代碼:
def mouseClick(clickTimes,lOrR,img,reTry):
if reTry == 1:
while True:
location=pyautogui.locateCenterOnScreen(img,confidence=0.9)#圖片定位
if location is not None:
pyautogui.click(location.x,location.y,clicks=clickTimes,interval=0.2,duration=0.2,button=lOrR)
break
print("未找到匹配圖片,0.1秒后重試")
time.sleep(0.1)
elif reTry == -1:
while True:
location=pyautogui.locateCenterOnScreen(img,confidence=0.5)
if location is not None:
pyautogui.click(location.x,location.y,clicks=clickTimes,interval=0.2,duration=0.2,button=lOrR)
time.sleep(0.1)
elif reTry > 1:
i = 1
while i < reTry + 1:
location=pyautogui.locateCenterOnScreen(img,confidence=0.5)
if location is not None:
pyautogui.click(location.x,location.y,clicks=clickTimes,interval=0.2,duration=0.2,button=lOrR)
print("重復")
i += 1
time.sleep(0.1)
5)找到對應的操作區域并且完成指定的操作并保存。運行代碼通過提取cmd.xls文檔中指令的類型和執行的次數來進行操作,中間的循環在代碼中體現,知道判斷結束然后保存運行結果到一個新的文件或者數據庫中。
由以上流程可知,RPA流程機器人在全校學生檔案管理信息系統中可以完全代替人工進行實時連續操作,可以在連續工作三天內完成任務,出錯率幾乎為零,大大提高了工作效率。
將圖像智能識別定位技術應用到智慧校園其他應用系統中,可以看到在自動操作過程中通過簡單的代碼就可以代替人工長時間的操作,并且可以避免人工操作時因失誤而造成的錯誤及系統本身出現的錯誤,有效地提高了系統的效率。
4? 結? 論
從上面的分析可以看出,傳統的定位方式是根據位置和HTML標簽來定位,這種定位方式除了設置復雜以外還有可能產生很多意外,比如當突然位置或者標簽發生變化就有可能導致進程停止或發生錯誤,而將圖像智能識別定位方法因為是根據圖片進行檢索的,不僅可以更加簡單地識別定位,而且不會像傳統定位那樣因為位置或標簽發生變化而進行錯誤的指令,同樣也可以提高人工的工作效率,只要是提前規劃好這種錯誤并設定好如何解決,就不會使流程停止了。簡而言之就是不管圖像界面發生什么變化,只要這個圖像在界面上,就可以按照順序進行識別,并進行操作。
科技發展過程中,促進智慧校園管理模式創新與發展是推動教育可持續發展的重要策略,基于流程自動化識別關鍵技術的研究,提升了RPA自動識別機器人的在智慧校園中的應用水平,提高了校園的管理效率和管理質量,推動了學校的進一步發展。
參考文獻:
[1] 魯燕婷.RPA機器人流程自動化在財務共享服務中的運用 [J].中小企業管理與科技,2022(24):147-149.
[2] 劉虹.基于RPA技術的財務機器人應用研究 [J].河北青年管理干部學院學報,2023,35(2):74-77.
[3] 張均蔚,盧子聰,歐陽曉雯,等.數字化技術在電力企業財務領域的應用探索 [J].科技創新與應用,2023,13(9):189-192.
[4] 王燕.流程自動化機器人探討與功能解析 [J].中國新技術新產品,2019(3):33-34.
[5] 吳宇,孫鳳.基于PyAutoGUI的圖形用戶界面自動化辦公技術研究 [J].信息技術與信息化,2022(11):122-125.
[6] 孟媛,秦云川,蔡宇輝,等.一種用于RPA系統的DOM對象快速搜索與定位算法 [J].計算機科學,2022,49(10):252-257.
[7] 易仁可,蔡宇輝,楊圣洪,等.基于瀏覽器擴展的RPA系統跨域DOM拾取與自動化方案 [J].計算機科學,2023,50(2):237-243.
[8] 朱麗英,吳錦晶.基于自動化測試的定向網絡爬蟲的設計與實現 [J].微型電腦應用,2019,35(10):8-10.
作者簡介:呂曉龍(2001.04—),男,漢族,山東德州人,本科在讀,研究方向:軟件工程;王能(1971.09—),女,漢族,山東煙臺人,教授,博士,研究方向:信息管理。