【折向东】专栏 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驱动

  1. mysql-connector-odbc下载地址
  2. 安装好MySQL

2. 在UiPath中配置MySQL ODBC驱动

  1. 选择DataBase下的Connect控件
  2. 点击Configure Connection
  3. 点击Connection Wizard
  4. 选择Microsoft ODBC Data Source,在下面下拉框中选择 .NET Framework Data Provider For ODBC
  5. 点击OK
  6. 在Connection Properties面板中,选择Use Connection String
  7. 点击Build,在弹出的面板中,选择Machine Data Source的Tab
  8. 查看在Machine Data Source面板中是否有MySQL的驱动选项。如果没有,则进行下一步
  9. 点击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/