APP下载

RPA在智慧校园应用中的智能识别关键技术研究

2024-01-18吕晓龙王能

现代信息科技 2023年22期
关键词:智慧校园

吕晓龙 王能

收稿日期: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标签所标识,如、、<div>、<tr>、<td>等。当在浏览器中点击快捷键F12时,网页的全部HTML源代码就会展示出来。不同点是,RPA可以让用户更灵活、更快捷、更精准地获取到所需要的网页内容。抓取Web网页中的数据,最重要的就是在页面中准确地定位该数据的位置[6]。目前,经常采用的方式是通过关键值或特征值来查询Web页面中的某个元素,如ID、Name、Ta-g、Link、DOM、XPath、CssSelector等[7]。页面中元素如ID、Name、Tag、Link值经常会改变,但页面的结构通常是不变的,所以最常用的页面元素就是XPath和CssSelector。XPath也是一个可以在XML文件中定义元素的方式。因此,静态页面管理也被视为XML的一个实现,能够把网页上元素的位置转化为XPath的描述[8]。</p><p>利用PyAutoGUI模块位置定位的方法弊端是没有过多的判断,很容易因为弹窗或者广告覆盖而出现操作错误,并且在页面转化时需要费尽心思去考虑两端之间的配置。对于依据网页标签就如前面谈到的位置定位一样,这些特征值必须唯一,并保持不变,否则机器人再次打开网页时,就查询不到该元素了。这两种技术实现的按键精灵必须是完整的一个流程,中间不能间断,否则会发生异常。</p><p>3  图像智能识别定位</p><p>图像智能识别关键技术解决了传统定位的弊端,它不只是对目标进行单纯的点击等简单操作,而是着重实现键盘输入热键组合和循环等功能,先提前将各种热键和真实的作用在代码中体现出来,使用户可以调用出这些功能。简而言之就是用户通过提前截图规划Excel表的方式设定RPA机器人的运行过程,在运行中通过图像去定位,进而进行点击或输入等操作,可以通过提前设置好的热键进行键盘操作,也可以对操作完成后的结果进行保存。</p><p>以全校学生档案管理信息系统中学生新入学报道时的录取信息为例,对于每一位学生的档案录入,信息录用人员都需要在全校学生档案管理信息系统中进行同样的操作流程,即将每个新入学的学生的信息,如姓名、年龄、身份证号等,输入到系统数据库中,再根据学生信息选择分配班级并再次输入到数据库中。在前台界面上主要的操作流程是在浏览器中输入网址后输入账号密码,进入系统录入界面中点击“新增”按钮打开“新增学生”窗口,根据提示输入相应的个人信息等一系列操作,其中每进行一次学生信息录入,总共需要进行鼠标点击10次(每次1.0 s),键盘输入40 s,等待20 s,所以手动录入每位学生的信息总共要耗时约70 s,若每年高校录取新生约5 000人,要解决这些问题就需要90多个小时,假定按照一个老师每天有效输入5个小时,再加上处理错误,完成这些任务量至少需要一个月才能完成[5]。如果这些业务的操作使用RPA中传统的识别定位方式录入,虽然效率提高了,但会出现识别定位不准确或无法处理弹窗等问题,这时就需要人工进行干预,所以仍然需要消耗劳动力和时间影响工作效率,至少需要一个星期才能完成任务。如果使用RPA智能识别技术进行在线实时录入,就完全可以解决这些问题,提高效率,减少出错率。具体流程如下:</p><p>1)将流程的各个页面和窗口中截取每次操作的定位图标保存为png格式(图片必须是唯一的),提供给RPA智能识别机器人进行识别定位,用来找到在屏幕上的位置。将所有的png格式的图片保存在一个相同的文件夹内如图1所示。</p><p>2)将进行操作的命令存放到cmd.xls文档中,如图2所示,第一列是指令的类型,第二列是指令的内容如图片名称png、等待时间等,第三列表示重复次数。每一步对应的操作类型都需要在文档中配置(不局限于某一个系统,可以根据个别系统单独设置)。</p><p>3)设置错误预处理,通过代码的运行进行登录,可以看到计算机打开管理员界面,然后开始按照Excel文件中的指令进行数据的处理,如果没有发现弹窗则继续进程循环上一次的操作直到数据完全处理后结束。</p><p>当遇到弹窗问题无法处理时PRA机器人就会按照设置的预处理使用关闭窗口或者管理员窗口最大化的方式进行错误处理,然后继续进程,直到数据完全处理后结束。具体流程图如图3所示。</p><p>对突然遇到跳出弹窗的问题,解决方法可以在每一次运行前增加一个简单的验证就可以了,当发生意外后,可以选择通过键盘操作页面最大化,或者关闭弹窗等方式解决。出现错误跳出的解决关键代码如下。直接可以通过使用键盘输入直接进行错误处理。例如在自动输入学生档案时,不管是输入界面发生什么变化,鼠标都能准确找到要操作的模块,特别是突然跳出弹窗覆盖原来的界面时,鼠标还会选择操作页面最大化来解决问题。</p><p>处理错误的关键代码:</p><p>reTry = 1</p><p>if sheet1.row(i)[2].ctype == 2 and sheet1.row(i)[2].value != 0:</p><p>reTry = sheet1.row(i)[2].value</p><p>inputValue = sheet1.row(i)[1].value</p><p>hotkeyGroup(reTry,inputValue)</p><p>time.sleep(0.5)</p><p>4)通过图像去定义位置,RPA流程机器人进行轮寻等待寻找(不需要费尽心思去考虑两端之间的配置),识别定位由于不知道点击图片所在的确切屏幕坐标和点击图片的位置可能发生变化,则不能调用moveTo()和click()函数。每次启动时,图片可能会出现在稍有不同的位置,从而使每次都需要重新找到坐标。但是,如果使用图像定位的方式,可以调用该locateCenterOnScreen(img,confidence=0.9)函数以获取屏幕坐标。返回值为4整数元组(左,上,宽度,高度)。可以传递该元组center()以获取该区域中心的X和Y坐标。具体代码如下。</p><p>图片识别定位功能的关键代码:</p><p>def mouseClick(clickTimes,lOrR,img,reTry):</p><p>if reTry == 1:</p><p>while True:</p><p>location=pyautogui.locateCenterOnScreen(img,confidence=0.9)#图片定位</p><p>if location is not None:</p><p>pyautogui.click(location.x,location.y,clicks=clickTimes,interval=0.2,duration=0.2,button=lOrR)</p><p>break</p><p>print("未找到匹配图片,0.1秒后重试")</p><p>time.sleep(0.1)</p><p>elif reTry == -1:</p><p>while True:</p><p>location=pyautogui.locateCenterOnScreen(img,confidence=0.5)</p><p>if location is not None:</p><p>pyautogui.click(location.x,location.y,clicks=clickTimes,interval=0.2,duration=0.2,button=lOrR)</p><p>time.sleep(0.1)</p><p>elif reTry > 1:</p><p>i = 1</p><p>while i < reTry + 1:</p><p>location=pyautogui.locateCenterOnScreen(img,confidence=0.5)</p><p>if location is not None:</p><p>pyautogui.click(location.x,location.y,clicks=clickTimes,interval=0.2,duration=0.2,button=lOrR)</p><p>print("重復")</p><p>i += 1</p><p>time.sleep(0.1)</p><p>5)找到对应的操作区域并且完成指定的操作并保存。运行代码通过提取cmd.xls文档中指令的类型和执行的次数来进行操作,中间的循环在代码中体现,知道判断结束然后保存运行结果到一个新的文件或者数据库中。</p><p>由以上流程可知,RPA流程机器人在全校学生档案管理信息系统中可以完全代替人工进行实时连续操作,可以在连续工作三天内完成任务,出错率几乎为零,大大提高了工作效率。</p><p>将图像智能识别定位技术应用到智慧校园其他应用系统中,可以看到在自动操作过程中通过简单的代码就可以代替人工长时间的操作,并且可以避免人工操作时因失误而造成的错误及系统本身出现的错误,有效地提高了系统的效率。</p><p>4  结  论</p><p>从上面的分析可以看出,传统的定位方式是根据位置和HTML标签来定位,这种定位方式除了设置复杂以外还有可能产生很多意外,比如当突然位置或者标签发生变化就有可能导致进程停止或发生错误,而将图像智能识别定位方法因为是根据图片进行检索的,不仅可以更加简单地识别定位,而且不会像传统定位那样因为位置或标签发生变化而进行错误的指令,同样也可以提高人工的工作效率,只要是提前规划好这种错误并设定好如何解决,就不会使流程停止了。简而言之就是不管图像界面发生什么变化,只要这个图像在界面上,就可以按照顺序进行识别,并进行操作。</p><p>科技发展过程中,促进智慧校园管理模式创新与发展是推动教育可持续发展的重要策略,基于流程自动化识别关键技术的研究,提升了RPA自动识别机器人的在智慧校园中的应用水平,提高了校园的管理效率和管理质量,推动了学校的进一步发展。</p><p>参考文献:</p><p>[1] 鲁燕婷.RPA机器人流程自动化在财务共享服务中的运用 [J].中小企业管理与科技,2022(24):147-149.</p><p>[2] 刘虹.基于RPA技术的财务机器人应用研究 [J].河北青年管理干部学院学报,2023,35(2):74-77.</p><p>[3] 张均蔚,卢子聪,欧阳晓雯,等.数字化技术在电力企业财务领域的应用探索 [J].科技创新与应用,2023,13(9):189-192.</p><p>[4] 王燕.流程自动化机器人探讨与功能解析 [J].中国新技术新产品,2019(3):33-34.</p><p>[5] 吴宇,孙凤.基于PyAutoGUI的图形用户界面自动化办公技术研究 [J].信息技术与信息化,2022(11):122-125.</p><p>[6] 孟媛,秦云川,蔡宇辉,等.一种用于RPA系统的DOM对象快速搜索与定位算法 [J].计算机科学,2022,49(10):252-257.</p><p>[7] 易仁可,蔡宇辉,杨圣洪,等.基于浏览器扩展的RPA系统跨域DOM拾取与自动化方案 [J].计算机科学,2023,50(2):237-243.</p><p>[8] 朱丽英,吴锦晶.基于自动化测试的定向网络爬虫的设计与实现 [J].微型电脑应用,2019,35(10):8-10.</p><p>作者简介:吕晓龙(2001.04—),男,汉族,山东德州人,本科在读,研究方向:软件工程;王能(1971.09—),女,汉族,山东烟台人,教授,博士,研究方向:信息管理。</p></div></div> <!-- <div class="m_article_pdf"><a href="https://cimg.fx361.com/kkb.apk">查看pdf文档请下载app</a></div>--><div class="article_love_part"> <h3>猜你喜欢</h3> <div class="article_love_keyword"><span><a href="/tags/4/d/48224ae0b2338a2b/1.html" target="_blank">智慧校园</a></span></div> <div class="article_love_news"><dd><a href="/news/2016/1221/415251.html" target="_blank" title="大数据时代高校智慧校园信息化建设研究">大数据时代高校智慧校园信息化建设研究</a></dd><dd><a href="/news/2016/1221/415241.html" target="_blank" title="高等院校智慧校园建设规划与实现">高等院校智慧校园建设规划与实现</a></dd><dd><a href="/news/2016/1219/406404.html" target="_blank" title="校园App的设计与营销">校园App的设计与营销</a></dd><dd><a href="/news/2016/1215/396655.html" target="_blank" title="智慧校园安全管理研究">智慧校园安全管理研究</a></dd><dd><a href="/news/2016/1124/343787.html" target="_blank" title="横跨时空的新兴教学环境——国内“智慧校园”相关文献综述">横跨时空的新兴教学环境——国内“智慧校园”相关文献综述</a></dd><dd><a href="/news/2016/1124/343606.html" target="_blank" title="智慧校园关键技术典型应用研究">智慧校园关键技术典型应用研究</a></dd><dd><a href="/news/2016/1116/326810.html" target="_blank" title="基于B/S结构的学生公寓管理信息系统的设计与实现">基于B/S结构的学生公寓管理信息系统的设计与实现</a></dd><dd><a href="/news/2016/1114/319667.html" target="_blank" title="“智慧校园”浪潮下大学课堂教学改革与设计">“智慧校园”浪潮下大学课堂教学改革与设计</a></dd><dd><a href="/news/2016/1114/319580.html" target="_blank" title="智慧校园关键技术分析与研究">智慧校园关键技术分析与研究</a></dd><dd><a href="/news/2016/0604/321028.html" target="_blank" title="智能云教学系统在计算机专业教学中的运用">智能云教学系统在计算机专业教学中的运用</a></dd></div> </div><div class="phbk_part"><h3>杂志排行</h3> <ul><li><a href="/bk/hyyjk/20249.html" class="title">《婚育与健康》</a><a href="/bk/hyyjk/20249.html" class="date">2024年9期</a></li><li><a href="/bk/xdjjxx/20245.html" class="title">《现代经济信息》</a><a href="/bk/xdjjxx/20245.html" class="date">2024年5期</a></li><li><a href="/bk/xdnckj/20245.html" class="title">《现代农村科技》</a><a href="/bk/xdnckj/20245.html" class="date">2024年5期</a></li><li><a href="/bk/dqjsyjj/20244.html" class="title">《电气技术与经济》</a><a href="/bk/dqjsyjj/20244.html" class="date">2024年4期</a></li><li><a href="/bk/jlyx/20243.html" class="title">《吉林医学》</a><a href="/bk/jlyx/20243.html" class="date">2024年3期</a></li><li><a href="/bk/bjwxzpxsyb/20245.html" class="title">《北京文学·中篇小说月报》</a><a href="/bk/bjwxzpxsyb/20245.html" class="date">2024年5期</a></li><li><a href="/bk/jjjsxzxx/20242.html" class="title">《经济技术协作信息》</a><a href="/bk/jjjsxzxx/20242.html" class="date">2024年2期</a></li><li><a href="/bk/beihuadxxbzrkxb/20242.html" class="title">《北华大学学报(自然科学版)》</a><a href="/bk/beihuadxxbzrkxb/20242.html" class="date">2024年2期</a></li><li><a href="/bk/nykfyzb/20243.html" class="title">《农业开发与装备》</a><a href="/bk/nykfyzb/20243.html" class="date">2024年3期</a></li><li><a href="/bk/xmsykjxx/20241.html" class="title">《畜牧兽医科技信息》</a><a href="/bk/xmsykjxx/20241.html" class="date">2024年1期</a></li></ul> </div><div class="bk_part"> <div class="bk_im_b"><a href="/bk/xdxxkj/202322.html"><img src="https://img.fx361.cc/images/2024/03/19/cnqkimagesxdxkxdxk202322-l_mini.webp" alt=""></a></div> <div class="dbk_title"><a href="/bk/xdxxkj/" target="_blank">现代信息科技</a></div> <div class="dbk_date"><a href="/bk/xdxxkj/202322.html" target="_blank">2023年22期</a></div> </div><div class="others"> <h3><a href="/bk/xdxxkj/" target="_blank">现代信息科技</a>的其它文章</h3> <ul><li><a href="/news/2024/0118/23106167.html" title="基于DEA模型的基金资助效果评价研究">基于DEA模型的基金资助效果评价研究</a></li><li><a href="/news/2024/0118/23106185.html" title="基于物联生态的智慧感知校园的实现">基于物联生态的智慧感知校园的实现</a></li><li><a href="/news/2024/0118/23106201.html" title="基于STM32的一氧化碳检测及室内换气系统的设计">基于STM32的一氧化碳检测及室内换气系统的设计</a></li><li><a href="/news/2024/0118/23106214.html" title="一种基于深度学习的无线信号调制识别方法研究">一种基于深度学习的无线信号调制识别方法研究</a></li><li><a href="/news/2024/0118/23107767.html" title="基于STM32的智能窗帘设计">基于STM32的智能窗帘设计</a></li><li><a href="/news/2024/0118/23107793.html" title="基于Modbus协议的边缘计算电能质量网关设计">基于Modbus协议的边缘计算电能质量网关设计</a></li></ul></div></div> <div class="m_footer"></div> <script> if ('serviceWorker' in navigator) { window.onload = function () { navigator.serviceWorker.register('/sw.js'); }; } </script> <script type="text/javascript" src="https://s1.pstatp.com/cdn/expire-1-M/jquery/3.4.0/jquery.min.js"></script> <script type="text/javascript" src="https://s2.pstatp.com/cdn/expire-1-M/Swiper/4.5.0/js/swiper.min.js"></script> <script type="text/javascript" src="https://s1.pstatp.com/cdn/expire-1-M/jquery.lazyload/1.9.1/jquery.lazyload.js"></script> <script type="text/javascript"> document.write('<script src="https://img.fx361.cc/js/m.index_cc.js"><\/script>'); </script> </section> </body> </html>