RPA技术的个人网银查询机器人设计与实现

2021-06-03 06:10石家庄邮电职业技术学院计算机系高凌燕房瑜辉
电子世界 2021年9期
关键词:网银网址鼠标

石家庄邮电职业技术学院计算机系 张 昱 高凌燕 房瑜辉

RPA与AI技术结合发展迅速,在财务、金融等领域大型企业逐渐落地应用,因前期研发成本较高影响其在个人生活领域推广。为此,本文以艺赛旗RPA为平台,设计开发了个人网银自助查询机器人,实现了个人网银账户自动登录、余额查询、数据汇总分析、发送邮件等便捷功能,解决了忙碌的上班族、操作不便的老年人等群体的个性化需求。在不需要人工操作的情况下,可在预设好的时间内自动登录查询个人网银账户信息,为个人股票、手机余额、水电暖等生活自助服务流程自动化提供参考。

RPA是机器人流程自动化的简称,它建立在人工智能和自动化技术的基础之上,是一种新型软件技术。RPA工作在Windows操作系统上,自动识别登录应用程序接口,完成预设好的流程。RPA技术将具有明确规则的常规电脑操作按设定流程自动执行,例如登录网站、应用系统、读取邮件、生成数据文件和报告等,并可以跨多个应用系统。自动实现了以往只有人类才能完成的电脑操作,把人们从读取、处理日常海量信息的重复工作中解放出来,提高处理效率和质量,降低劳动成本支出。

RPA在国外出现较早,尤其在金融、保险行业应用极为广泛,如美亚保险、好事达等大型集团企业,它们不仅全面推广使用RPA,还拥有自己独立的研发团队。我国在2017年将人工智能技术写入政府工作报告中。此后,逐渐有国内公司应用RPA,如金蝶、毕马威等利用财务机器人统计分析数据。经过3年多的市场沉淀,RPA技术已经得到较大范围的应用,不仅在传统的财税、金融行业,还可以在人力资源、速递运输等行业的业务流程上实现智能自动化。艺赛旗、UiBot、达观等本土公司也逐步诞生或将发展重心转移到RPA的研发与推广上来,并发展迅速。

本文选用艺赛旗RPA为开发平台,设计了程序软件,可模拟人的操作与银行网站、Excel软件、邮件系统交互数据信息。针对个人金融业务操作繁琐、效率低下,风险高的市场痛点,迎合老年人群、残障人群和重视时间管理的上班族三类群体的市场诉求,设计开发了个人网银账户余额查询机器人,通过自动输入账号、密码和验证码进行登录,选定指定范围日期进行查询,拾取数据,对数据处理汇总至Excel表并发送至指定邮箱等一系列的流程自动化操作,进行机器人流程自动化在个人应用领域落地的探索和研究。

1 总体设计

该软件由网银登录、数据检索、数据处理和邮件发送4个功能模块组成,每个模块又由若干项子功能组成,如图1所示。

图1 账户余额查询总体功能结构图

软件设计采用结构化布局方法,根据需求将功能拆分为3个模块,分别对应3个子流程,如图2所示。

图2 子流程分解图

2 流程设计

2.1 登录子流程设计

登录网银账户是查询机器人设计的第一步,也是最关键的环节。首先自动打开银行网址,输入账号、密码;循环输入验证码并判断输入是否符合规定;登录后自动判断是否登录成功,否则返回重新登录。

(1)自动输入网银账号密码。用“网站”组件打开网址“https://mybank.icbc.com.cn/”(以工商银行个人网银为例);然后,用“鼠标点击”组件,使光标定位于账号文本框处,用“模拟按键”组件模拟真实的键盘操作传入参数输入账号;再次使用“鼠标点击”组件使光标定位于密码框处,并用专用的输入网银密码组件以变量的形式输入网银密码,流程设计如图3所示。

(2)验证码的循环识别及输入。用“鼠标点击”组件点击验证码图片,“截图”获取验证码图片,返回图片路径后,用“获取OCR文本”组件进行图文的识别转换,并进行“去空格”操作。逻辑判断长度是否是4位,如果是,则进行验证码的输入,登录,并终止循环,进行下一步流程;如果不是4位,则用消息框提示“位数不正确”,进行下一次的重新识别判断,直到验证码位数判断是4位为止。

(3)登录成功判断。使用“while循环”与“try异常”相结合,在点击登录按钮后,跳转到“我的网银”页面,捕捉到固定的标志,则登录成功,否则作为异常重新拾取验证码进行判断输入和点击登录,直到能成功登录为止。

图3 账户密码流程设计展示

图4 数据查询流程设计展示

2.2 数据检索子流程设计

登录成功后,鼠标移动点击进入交易明细页面,选择指定的日期范围进行交易明细的查询,拾取数据并导出至Excel表,再对数据进行处理,包括追加合并数据,去重,排序,设置格式等,最终形成一份可供浏览的Excel交易明细文件。

选用时间戳stamp进行数据文件的动态命名,引入Python第三方OS库,进行文件名和路径的完整拼接。对查询出来的数据进行Web表格的拾取,以DataFrame类型的数据导出至创建的Excel表中,流程设计如图4所示。

2.3 邮件发送子流程设计

使用“发送邮件”组件将Excel数据表作为附件发送。获取到电子邮箱第三方登录的授权码,服务器,窗口和正确的ssl之后,用传参的方式将发送者、接收者、标题、正文和附件信息设置在相应位置。

3 容错处理

3.1 窗口标题和网址容错

窗口标题和网址每次点击打开都会发生变化,这会对流程的执行判断产生影响。对此,在组件设计过程中做容错处理。找到属性值一栏,保留其Sub(包含方式)每次拾取中相同的部分,对“窗口标题”组件删除变化的部分;“网址”组件将变化的部分用通配符“*”代替。

3.2 流程时间优化处理

每执行一个组件都需要等待一定时间,合理的对等待时间进行分配从而整体优化程序运行时间十分必要。根据PC运行环境的不同,恰当的调整打开网址,跳转网址的等待时长,对单个组件设置合适的前置延时或后置延时。在“截图”组件后让它适当的等待500ms,以防止因为截图过快导致出现图片重复。在“模拟按键”组件输入文本时,适当的根据文本的长度来控制它的后置延时,以保证输入文本的完整性。

图5 鼠标偏移具体实现页面

3.3 鼠标容错

在使用“鼠标点击”组件定位光标时,拾取元素在网页中会动态变化,给拾取判断带来困难。可以通过拾取固定元素再设置偏移量的方案来解决。如图5所示,要把光标定位于账号、密码文本框,可拾取左侧标注的红框内的小图标,在X轴的正向偏移50px;点击刷新验证码时,则是通过拾取上侧的“忘记密码”,然后在Y轴设置正向偏移30px,以确保拾取页面元素的成功率。

结束语:本文以is-RPA为开发平台,以Python为脚本语言,使用组件和代码相结合的方式,开发了个人网银余额自助查询软件机器人,实现了网页登录、验证码识别、Web数据查询、Excel数据处理与分析、邮件发送等多个功能。在软件设计的关键技术中,运用了异常处理和容错机制,以保证流程的正常运行。充分利用了RPA技术跨系统、多任务自动化操作的特点,在控制平台部署后,可实现一天一次或多次自动查询网银账户,给使用者带来便利。为个人股票、手机余额、水电暖等生活自助服务流程自动化设计提供参考。随着人工智能和自动化技术的进一步发展,RPA技术在人们的生活中一定会发挥更重要的作用。

猜你喜欢
网银网址鼠标
本刊网址变更通知
Progress in Neural NLP: Modeling, Learning, and Reasoning
企业网银支付结算方式的内部控制
本刊网址变更通知
本刊关于网址的郑重申明
本刊关于网址的郑重申明
第三方密码网银支付预收电费探讨
超级网银
你的网银安全吗?
45岁的鼠标