【折向东】专栏 Example
作者简介
https://www.zhihu.com/people/xdong-she/activities
附 . 关于微信公众号
公众号ID:jsj201501
公众号名称:瞎说开发那些事
感谢您的关注和阅读,希望这篇文章能为您带来帮助。
欢迎转载与分享,也请注明出处。
RPA与软键盘
在开发与银行相关的RPA中,经常会遇到使用软键盘输入密码的场景,而软件盘的类型很多,对于RPA来说,实施的困难也不尽相同。以下就针对银行软键盘的几种类型进行讨论,并给出已证明可行的几种解决方案。
1. 有软键盘,并可以通过HTML元素定位到字符位置
如中国建设银行
相对来说,中国建设银行的软键盘对于RPA来说,还是比较好识别的。可以直接通过识别软键盘元素就可以解决。代码如下:
注意点:
1. 在输入密码之前,首先需要将密码字符串转为字符数组,然后循环,逐个输入。在点击软键盘中的元素时,可以在Selector中添加代码,以便click可以找到正确的元素位置。如下代码:
“
2. 如果在密码中存在大写字母(软键盘打开之后,默认都是小写字母),则需要点击软键盘上的”切换大小写”按键。判断某个字母是否是大写字母,只需要根据字母的ASCII码来判断即可,ASCII大于64小于91即为大写字母。在大写字母输入完毕之后,还需要将键盘切换为原来的小写字母键盘,以防止小写字母输入错误。
视频演示
https://www.zhihu.com/video/982655000006373376
2. 有软键盘,但不需要使用软键盘输入
如重庆银行
重庆银行在密码输入时,既可以用软键盘输入,也可以使用键盘输入。但是如果使用软键盘输入时,它不想建行那样,可以通过HTML元素来定位字符,所以还需要寻找其他方式解决,但既然它可以直接通过键盘输入,那么在实施RPA的时候,完全可以直接通过type into控件来实现输入。代码如下:
注意点:
1. 在输入用户名时候,需要将Options中的EmptyField选中,即在输入之前,先将输入框清空。
2. 使用以下两个控件,是因为在输入密码之前,不能使用Options中的EmptyField属性,所以通过双击,然后再del的方式,清空之前的密码内容。
视频演示
https://www.zhihu.com/video/982656001262231552
3. 有软键盘,并且使用软键盘输入密码
如重庆银行
此软键盘不能使用以下控件:
click、click Text、Click OCR text: 软键盘每切换一次,元素位置(id)就会变动,Selector找不到字符
可以通过click Image控件,并且使用switch,针对每一个字符都使用click image去点击。如果存在大写字母,则需要使用切换大小写按键,然后输入点击输入字符,然后再切换回原来的小写字符。
输入大写字母情况
视频演示
https://www.zhihu.com/video/982656698741321728
UiPath连接MySQL数据库
在RPA实施过程中,经常会遇到与数据库交互的场景。通过与数据库交互,可以更方便的取到结构化的数据,以便在之后使用。本篇文章主要讲解在UiPath中使用MySQL的情景。
1. 安装MySQL ODBC驱动
- mysql-connector-odbc下载地址
- 安装好MySQL
2. 在UiPath中配置MySQL ODBC驱动
- 选择DataBase下的Connect控件
- 点击Configure Connection
- 点击Connection Wizard
- 选择Microsoft ODBC Data Source,在下面下拉框中选择 .NET Framework Data Provider For ODBC
- 点击OK
- 在Connection Properties面板中,选择Use Connection String
- 点击Build,在弹出的面板中,选择Machine Data Source的Tab
- 查看在Machine Data Source面板中是否有MySQL的驱动选项。如果没有,则进行下一步
- 点击New,创建一个新的数据源
10. 选择之前安装的MySQL ODBC 3.51 Driver,点击Next,Finish。之后会弹出MySQL DataSource的配置框
11. 填写好配置信息之后,点击Test,如果配置信息正确,会有Connection Successful的提示!之后点击OK,返回到Select Data Source的配置框。
12. 在Select DataSource选择框中,选择刚才配置的MYSQL DataSource,点击Ok
13.返回到Connection Properties界面,点击Advantage,然后再Advantage Properties界面,添加Driver为{MySQL ODBC 3.51 Driver},这个Driver就是之前下载并安装的Driver名称。
14. 最终的ConnectionString是:“Driver={MySQL ODBC 3.51 Driver};database=rpa4all;option=0;port=3306;server=127.0.0.1;uid=root;sslverify=0;charset=gb2312;pwd=root”, 使用的ProviderName是: “System.Data.Odbc”
如果出现乱码,请注意charset=gb2312;的设置
3. 测试
添加Execute query组件,然后配置数据库连接,将先前建立的连接添加进去,然后填写查询的SQL,此组件将查出的结果转换为一个DataTable,整个流程及结果如下图所示:
MySQL connection strings网站: https://www.connectionstrings.com/mysql-connector-odbc-3-51/