银联 RPA 开发经验分享

近期在银联财务开发网银流程机器人,分享一些经验给大家:

1. 登录时验证码循环输入
使用浏览器里的 ‘单击元素’的方式点击二维码图片,可以很方便更新到最新的二维码。
OCR 的结果除了可以判断长度是否为 4 位,还可以去除非字母和数字,这样输入的成功率更高。

#获得的验证码去除非英文和数字的其它字符
    code = (re.sub("[^0-9a-zA-Z]","",bad_code))

2. 登录是否成功,从‘图片是否存在’判断改为‘获取文本’的方式。

3. 键盘里的 ‘控件输入’最接近真实的键盘输入。

4. 密码框很多是 CS 架构。

5. 获取余额时,如果是需要取最后一页,最后的一条记录里的余额。我们找到一个办法:
发现‘获取文本’从第一条到最后一条余额时,只有一个地方在变化。
TR:nth-of-type(“+str(n)+”) 所以我们遍历了这 10 个余额。

   def get_last_balance():
    balance_list=[]
    for n in range(1,11):
        b = iie.get_text(title=r"",url="https://ebank.cbhb.com.cn/entWeb/static/main.html#/$4",selector="#mctable > TBODY:nth-of-type(1) > TR:nth-of-type("+str(n)+") > TD:nth-of-type(4)",waitfor=1)
        if b != (""):
            balance_list.append(b)
        else:
            break

然后取列表里的最后一个数字,就是最后的余额。