NO.007【总结分享】网银自动化开发经验总结&注意点——by上海组
回答
收藏

NO.007【总结分享】网银自动化开发经验总结&注意点——by上海组

四月
2023-10-19 09:36·浏览量:4616
四月
发布于 2023-10-19 09:364616浏览

排版可见链接:

https://www.yuque.com/g/siyue-e1oui/gri8ge/ct2g87fdrhcg6ew7/collaborator/join?token=Xs4gtkayqrdkuh5F&source=doc_collaborator# 《【总结】网银自动化开发经验总结&注意点》

写在前面:

部分客户由于公司网上银行账户多,需要财务工作者在多个银行,多个账户内完成网上银行的登录、切换,以进行流水、回单的下载。这样的流程,实际上非常重复机械,却耗费了大量的人力。因此,使用RPA模拟人工登录网银,进行流水回单的下载,就成了企业的迫切需求。

与此同时,由于网上银行的风控比较严格,在使用PRA实现网银自动化的过程中,会遇到很多技术上的问题,比如,登录锁定、需要安全控件、网银元素变动等问题。

综上,本文档旨在总结客户网银自动化过程中遇到的问题和沉淀的经验,为之后需要实现网银自动化的客户提供一些小小的参考。

一、网银登录经验总结

1、输入密码

登录网银输入密码有两种方式:驱动输入vs安全控件输入。

a. 一般情况下,大部分银行均支持驱动输入

使用方法为:通过【自动化插件】安装【虚拟键盘鼠标驱动】,调用【键盘输入】指令进行密码输入

b. 当部分银行限制了输入方式,仅允许真实的键盘设备输入密码时,影刀提供了网银安全控件设备进行按键输入。(控件设备且使用方法需联系影刀官方人员获取!!!

使用方法为:

  • 将网银安全控件设备插在电脑上
  • 在应用中安装【网银安全控件输入】指令集详细用法请查看指令集的帮助文档!!!
  • 若电脑上没有插入网银安全控件设备并调用了指令,运行时会报错【 未识别到网银安全控件设备,请您检查后重试。】

  • 调用指令输入密码
  • 输入效果

附:驱动输入不支持的网上银行

不支持的网上银行

  • 农业银行
  • 民生银行
  • 平安银行
  • 上海银行

支持的网上银行

  • 国有大型商业银行
    • 交通银行
    • 中国银行
    • 建设银行(没有安全控件)
    • 工商银行
    • 邮政储蓄银行
  • 股份制商业银行
    • 光大银行
    • 中信银行
    • 华夏银行
    • 广发银行
    • 兴业银行
    • 浙商银行
    • 渤海银行
    • 恒丰银行(没有安全控件)
  • 城市商业银行
    • 江苏银行
    • 南京银行
    • 杭州银行
    • 。。。

2、无法输入密码

原因一:没有弹出证书密码输入框

解决方案:前置动作,在输入密码前,使用网银助手,先打开网银证书。

原因二:整个桌面被锁定

解决方案:坐标定位+鼠标点击+快捷键输入

具体方法如下:

  1. 坐标定位:当运行到弹出Ukey密码输入框时,使用快捷键对整个电脑屏幕进行截图,然后点击弹框中的"取消",消除屏幕的冻结状态,打开刚刚的截图并放大至全屏,用"移动鼠标"的指令将鼠标移动到截图中的输入框,通过Ctrl+Alt键确定其坐标位置。
  2. 快捷键输入:在定位到Ukey密码输入框并且点击鼠标激活输入状态,然后输入完密码后,通过使用"键盘输入"的指令,键入“{Tab}{Tab}{Enter}”。

3、输入密码错误

原因一:部分网银在输入过程中会开启锁定大写

解决方案:插入代码段,关闭键盘大写锁定

代码如下:

import win32con,win32api
caps_key=win32con.VK_CAPITAL
caps_state=win32api.GetKeyState(caps_key)
if caps_state==1:
    win32api.keybd_event(caps_key,0,0,0)
    win32api.keybd_event(caps_key,0,win32con.KEYEVENTF_KEYUP,0)

caps_state=win32api.GetKeyState(caps_key)


原因二:密码输入过程中,丢失了部分字符(如本该输入6位,但只输入5位)

解决方案:

a. 首先,需要在输入前确认光标在目标输入框内,同时将按键间隔调大,建议为500ms

b. 其次,在【键盘输入】指令之前,加等待时长

4、无法登录

【问题表现】部分银行在输入U盾密码后,无法捕获确定框,故无法登录、

【解决方案】首先考虑键盘输入快捷键{Enter}登录,如果碰到仅输入{Enter}无法实现登录的情况,则先用{Tab}键定位其他键,再按下{Enter}


二、网银业务流程开发经验总结

1、弹窗处理

【问题表现】登录网银后,会出来多种弹框,如公告框、广告弹窗等

弹框一:公告框、告示框

【解决方案一】加IF条件判断,弹出则关闭;偶发也可直接加Try-Catch

【解决方案二】不处理弹框,重新激活操作页面后,对操作页面进行后续开发

弹框二:弹框广告,内容形式不确定(如图浦发银行弹框

【解决方案一】由于弹出的内容形式不固定,但x号一直存在,故目前考虑图像or元素点击×号进行关闭

【解决方案二】增加IF条件判断,弹出则关闭

【解决方案三】联系实施开发指令进程中---异步关闭广告弹窗

2、时间选择

a. 年月选择

【问题表现】下载流水回单时,年月只能通过下拉实现选择,目前无封装指令进行应用

【解决方案】设置全局变量,通过元素编辑器修改inner-text属性,完成年月传参,下拉点击

【延申问题表现】下拉点击年月元素时,可能会出现元素没有展现出来而导致点选错误

【解决方案】滚动鼠标,使元素出现


b. 日选择

【问题表现】选择日期时,由于无法处理日期相似元素组,导致同天会获取两个日期,如30/1/2,无法准确选择日期

【解决方案】增加判断脚本,通过当日日期判断选择第一个日期还是第二个日期


c. 其他

【问题表现】在进行时间日期选择时,网银元素经常失效

【解决方案】取消勾选易变动的元素(index),观察取消后选到的元素,通过循环、判断等逻辑实现稳定自动化

三、其他问题

1、向日葵远程软件导致键盘错乱

【问题表现】影刀开启状态下,使用「向日葵」工具进行远程后,会多输入字母a或者出现右键&鼠标失效的情况

【解决方案一】使用影刀时向日葵后台进程退出;

【解决方案二】后续使用远程软件时,更换为todesk

2、网页卡顿,无法进行元素操作

【问题表现】网银登陆后页面加载会比较慢,出现找不到元素的情况

【解决方案一】局部流程增加等待

【解决方案二】勾选“等待网页加载完成”

3、web元素捕获失效

【问题表现】使用web元素网银页面捕获时,会报元素类型不匹配,无法捕获

【解决方式】使用win元素进行网银网页的捕获(包含深度模式、CV模式)。因为大部分网银只是套了一层浏览器的外壳,其本质还是桌面软件


收藏9
全部回答1
最新
发布回答
回答