UiBot Creator V5.3.0版
32位:点击下载
64位:点击下载
(更新时间2020-9-28)
UiBot Creator 5.3.0 更新内容
一、 整体
1. 【新增】UiBot企业级流程模板。
2. 【新增】UiBot Mage低代码开发AI功能。
3. 【新增】"FTP"命令,支持SFTP协议。
4. 【新增】"等待鼠标光标空闲"命令。
5. 【新增】"数据库"支持PostgreSQL数据库。
6. 【优化】"文件处理"-"ini格式"命令。
7. 【新增】"压缩文件或文件夹"命令,支持将多个文件/文件夹压缩为zip文件。
8. 【新增】"解压zip文件"命令,支持zip文件解压。
9. 【新增】"二维码识别"命令模块,支持QR二维码识别。
10. 【新增】"判断窗口是否存在"命令,支持判断窗口是否存在。
11. 【新增】"IMAP"命令模块,支持以IMAP协议接收和处理邮件,并可根据邮件头(主题、收件人、发件人、抄送人)信息被包含关键字筛选邮件。
12. 【新增】"本地OCR(实验功能)"命令。
13. 【新增】"OutLook"模块新增"下载附件"、"删除邮件"命令。
14. 【新增】系统变量。
15. 【优化】"模拟按键"命令。
16. 【优化】离线激活码输入体验提升。
17. 【优化】"通用文件"命令模块,支持自动识别字符集编码,写入内容至文件如文件不存在则自动创建。
18. 【优化】"浏览器-等待网页加载"命令。
19. 【优化】源代码自动排版缩进。
20. 【优化】UI分析器。
二、 新增与优化
1. 【新增】UiBot企业级流程模板。
1.1. 功能描述
企业级流程模板是一个体现健壮性的通用型的流程模板,包含一组常见的实践——起点初始化、灵活的全局配置、健壮的异常处理和重试机制、有意义的日志记录,在大规模部署RPA的项目中,可以作为流程起点,或者参考这些实践。
异常处理和重试机制,是基于流程块、子流程块新增的一条可拉出的"异常虚线"和新增的系统变量($BlockInput)在一定的流程步骤里组合起来实现的。
1.2. 功能详细介绍
1、从模板新建
如上图点击"新建"按钮弹出新建窗体后,可选择"企业级流程模板"创建一个新流程。
2、企业级流程模板
模板组织结构包含:
¡ 6个流程块
配置初始化、目标程序初始化、获取新数据、异常处理、重试计数、流程结束
¡ 3个判断块
首次运行、重试、有数据
¡ 1个子流程块
执行流程
¡ 流程图变量
推荐命名约定:g + 下划线 + 结构类型 + 变量名
g_dicConfigData——配置数据,本地的配置文件Config.xlsx中的数据和自定义配置数据的集合,用于统一的公共配置并在全局流程图中使用(子流程需要输入赋值才可使用)。 |
g_dicTransactionItem——事务项,企业级流程模板本质是循环执行事务,事务项之间有相同的的结构而值不同。 |
g_iRetryNumber——反复重试数,一般默认为3,如某事务项执行时发生异常,可以重试执行,但不能超过反复重试数。 |
g_iCount——重试计数器,初始值为0,事务项重试一次则累加计数,若大于等于g_iRetryNumber,则清零,即为0。 |
g_bRetryStatus —— 重试状态,默认为False,在“目标程序初始化”成功后,有分支的条件表达式会去检查当前事务项的重试状态,若为true,则分支条件成立并指向“流程执行”子流程,当前事务项开始重试。 |
g_bFirstRun——初次运行,默认为True。 |
l res/Data目录下的配置文件
Config.xlsx——包含3个工作表(全局设置、常量设置、本地参数),并已经预设了若干个配置项,可根据项目情况自行扩展。
1.3. 使用案例
请详见经典案例《Excel数据填写到网页表单》
1.4. 注意事项
流程图中新加入流程块,会看到"基本信息"中已取消"输入"和"输出",但原来编写的UB流程中的流程块(旧的流程块)已经使用了"输入"或"输出"不会影响,若删除这些旧的流程块或者"输入"和"输出"都为空,则也会变成已取消"输入"和"输出"的状态,要想达到原来的效果,可使用流程图变量来实现。
2. 【新增】UiBot Mage低代码开发AI功能。
2.1. 功能描述
支持开箱即用UiBot Mage的AI能力,包括通用文字识别、通用表格识别、通用多票据识别、通用卡证识别、验证码识别、标准地址、文本分类等AI能力。并支持通过Mage AI向导操作快速生成符合业务开发需求的源代码语法糖和可视化的语句块,语法糖可简写大量代码,语句块可通过拖动命令方式快速完成自动化的开发。
2.2. 功能详细介绍
UiBot Mage低代码开发AI功能主要包含2大块功能,第1大块功能是新增了8类命令模块包含38条命令。在流程编辑界面左侧的命令面板中可以找到Mage AI的命令模块,如下图:
第2大块功能是在工具栏(toolbar)上增加了Mage AI的向导入口,点击Mage AI图标,打开Mage AI向导窗口,通过界面引导快速生成对应Mage AI命令的语法块或源码代码的语法糖,界面如下图:
Mage AI向导入口
Mage AI 向导窗口
首先详细介绍一下Mage AI的命令功能如下列表:
l 通用文字识别
¡ 屏幕文字识别
使用Mage识别指定屏幕范围的文字,识别结果以JSON格式返回。
¡ 图像文字识别
使用Mage识别指定图像的文字,识别结果以JSON格式返回。
¡ PDF文字识别
指定PDF页码转为图片后通过Mage AI通用文字识别,返回结果数组。在识别多页过程中如果其中一页失败则整个识别会失败,且会消耗配额。
¡ 获取全部文本
获取通用文字识别结果中的全部文本。可以设置换行和不换行的结果返回。
¡ 获取段落文本
获取通用文字识别结果中按段落划分的全部文本。
¡ 获取每行文本
获取通用文字识别结果中按行划分的全部文本。
¡ 获取所有文本元素
获取通用文字识别结果中按文本元素划分的全部文本。
l 通用表格识别
¡ 屏幕表格识别
使用Mage识别指定屏幕范围的多个表格,识别结果返回数组。
¡ 图像表格识别
使用Mage识别指定图像的多个表格,识别结果返回数组。
¡ PDF表格识别
指定PDF页码转为图片后通过Mage AI通用表格识别,返回结果数组。在识别多页过程中如果其中一页失败则整个识别会返回错误,且会消耗配额。
¡ 获取非表格文字
获取表格识别结果中的非表格文字信息。
¡ 获取所有表格
获取表格识别结果中的所有表格信息(不包含非表格文字),返回表格对象的数组。
¡ 获取表格数
获取表格识别结果中的所有表格数(不包含非表格文字数),返回数字。
¡ 获取指定表格
获取表格识别结果中的指定表格信息,返回表格对象,该对象为二维数组。
¡ 获取表格区域
从表格对象中的获取表格的区域信息,返回二维数组。
¡ 获取表格行数
从表格对象中的获取表格的行数,返回数字。表格对象可使用"获取指定表格"命令的返回变量。
¡ 获取表格列数
从表格对象中的获取表格的列数,返回数字。表格对象可使用"获取指定表格"命令的返回变量。
¡ 获取表格行
从表格对象中获取指定表格整行信息,返回一维数组。表格对象可使用"获取指定表格"命令的返回变量。
¡ 获取表格列
从表格对象中获取指定表格整列信息,返回一维数组。表格对象可使用"获取指定表格"命令的返回变量。
¡ 获取表格单元格
从表格对象中获取指定表格单元格信息,返回字符串。表格对象可使用"获取指定表格"命令的返回变量。
¡ 提取表格结果至Excel
将Mage AI"屏幕表格识别"、"图像表格识别"、"PDF表格识别"命令的识别结果直接提取至Excel文件中。配置属性支持过滤非表格文本。
n 不过滤非表格文本将会把识别图像上的所有非表格文字和识别的所有表格全部写入Excel中。
n 选择过滤非表格文本,会将图像中识别的多个表格分别按索引顺序写入Excel中的每个Sheet页中。方便继续对每个表格做单独Excel操作。
l 通用多票据识别
¡ 屏幕票据识别
使用Mage识别指定屏幕范围的多种票据,识别结果返回数组。
¡ 图像票据识别
使用Mage识别指定图像的多种票据,识别结果返回数组。
¡ PDF多票据识别
指定PDF页码转为图片后通过Mage AI通用多票据识别,返回结果数组。在识别多页过程中如果其中一页失败则整个识别会返回错误,且会消耗配额
¡ 获取票据类型
获取通用多票据识别结果中的票据类型。
需输入票据识别结果,来源:使用遍历"屏幕多票据识别"、"图像多票据识别"、"PDF多票据识别"命令输出到的变量的值。
¡ 获取票据内容
获取通用多票据识别结果中的票据内容。
需输入卡证识别结果,来源与获取卡证类型一样。
l 通用卡证识别
¡ 屏幕卡证识别
使用Mage识别指定屏幕范围的卡证,识别结果以JSON格式返回。
¡ 图像卡证识别
使用Mage识别指定图像的卡证,识别结果以JSON格式返回。
¡ PDF卡证识别
指定PDF页码转为图片后通过Mage AI通用卡证识别,返回结果数组。在识别多页过程中如果其中一页失败则整个识别会返回错误,且会消耗配额。
¡ 获取卡证类型
获取Mage AI通用卡证识别结果中的卡证类型。
需输入卡证识别结果,来源:使用"屏幕卡证识别"、"图像卡证识别"命令输出到的变量。如是"PDF卡证识别"命令输出到的变量,则需要先遍历指定页后,使用遍历的值。
¡ 获取卡证内容
获取Mage AI通用卡证识别结果中的卡证内容。
需输入卡证识别结果,来源与获取卡证类型一样。
l 验证码识别
使用Mage AI验证码识别通用和指定类型验证码。默认通用引擎GENERAL,如需指定场景识别,在Mage AI配置处切换对应的验证码识别器。
¡ 屏幕验证码识别
使用屏幕截取或选择的目标+范围的图像识别含验证码,返回结果为字符串格式。
¡ 图像验证码识别
使用本地图像识别验证码,返回结果为字符串格式。
l 标准地址
对输入的非标准的地址进行地址补全和标准化地址。可用于物流、快递等需要标准地址的业务场景。
¡ 地址标准化
将地址进行标准化,支持输入多个地址,以\n隔开,以数组格式返回标准化后的地址信息。
¡ 提取地址信息
先遍历循环地址标准化命令返回结果,然后从遍历结果中提取指定类型的地址信息。可提取完整地址、省、市、区县、街道、详细地址、POI名称。
l 文本分类
对指定文本进行分类,需先前往Mage添加训练类型,包含基础分类和智能分类2种训练引擎。
¡ 文本分类
对指定文本进行分类,需提前在Mage后台训练分类模型。返回数组,每个数组元素包含类别与置信度等信息。
¡ 获取排名结果
获取文本分类的排名结果,返回置信度分数大于等于指定阈值和取前几名的分类结果,类型为数组,数组的每个元素即为识别的类别结果。
l 配额信息
获取指定Mage AI能力的剩余配额数。在自动化流程中,可用于提前预判剩余配额额度。
¡ 获取剩余配额
返回当前识别器对应AI引擎的剩余配额。
通过上述对Mage AI命令的详细介绍,有所了解Mage AI的能力后,接着详细介绍向导功能来帮助我们更快使用Mage AI的功能。Mage AI按钮预置在工具栏上,点击打开后,主要分为以下4步:
¡ 配置识别器
n 选择AI模块,对应Mage提供的AI模块。
n 选择AI能力,应用模块下的AI能力。
n 选择识别器,对应AI能下创建的识别器。
¡ 选择图像来源
n 选择目标,使用鼠标从屏幕截取区域范围或选择目标元素。
n 选择图像,支持点击选择或拖入需要识别的图像文件。
n 选择PDF,支持点击选择或拖入需要识别的PDF文件。支持配置密码、页面范围等。
¡ 提取类型和字段
不同的AI能力可提取的信息不同。
n 通用文字识别主要能力是从图像中按类型提取所有文本信息。比如按行提取,按段落提取,按文本元素类型提取等等。
n 通用表格识别的可提取方式分为2种,完整提取和自定义提取。完整提取支持将识别的表格信息完整提取至Excel,自定义提取可支持按表格行、列、区域、单元格、非表格文本的方式提取。
n 通用多票据识别的提取方式是先选票据类型,再选对应票据类型的上的各个字段。
n 通用卡证识别的提取方式是先选卡证类型,再选对应卡证类型需要提取的各个字段。
¡ 可视化界面生成命令模板
源代码根据Mage AI向导的选项生成With Each或With开头的语法糖。下图生成的代码从命令使用维度理解话,它是“异常捕获”+“遍历数组”的语法组合,在“获取”相关命令的写法上省略Mage的命名空间。
上图的语法糖实现逻辑可等价于
obj=Mage.ImageOCRCard(p1,p2,p3 …)
Try
For Each iteminobj
Result=Mage.ExtractInvoiceInfo(item,p11,p12,…)
Result=Mage.ExtractInvoiceInfo(item,p21,p22,…)
Result=Mage.ExtractInvoiceInfo(item,p21,p22,…)
Next
Catch e
Throw e
End Try
n 可视化生成对应Mage命令的语句块。
2.3. 使用案例
需求:从一张普通专用增值税发票中获取发票号码、发票代码、开票日期、金额明细用于验证发票真伪。
1. 首先进入Creator的一个流程块编辑界面。从工具栏上打开Mage AI向导。
2. 选择通用多票据识别,并选好AI能力和对应的识别器,点击下一步选择图像来源。下图案例中从本地选择一张发票。
3. 点击下一步,选择提取类型为增值税专用发票,选择提取字段为发票代码、发票号码、开票日期、金额明细。
4. 点击完成,生成对应的语法块。如下图
5. 可以从上图中我们可以看到中间有生成4个提取4个字段的命令,并赋值给了Result。在这4个命令下面分别打印输出这Result看看。
6. 点击或按F5运行,查看输出的结果。可以看到发票中对应的发票号码、发票代码、开票日期、金额明细都被正确提取。
7. 成功提取发票号码、发票代码、开票日期、金额明细等字段后,就可以去国家税务总局的网站或其它验证发票渠道的网站将上述字段提交验证。
2.4. 注意事项
¡ 所有UiBot Mage命令基本都需要连接互联网使用。如果使用同一个账号登录2个地方,则另一个账号的Mage登录信息会失效。
¡ 对于Mage AI命令的使用方法基本是先"识别"后"获取",“识别”包括“屏幕文字识别”、“图像文字识别”...等等,“获取”包括“获取全部文本”、“获取每行文本”...等等,每个Mage AI命令模块下都有对应的获取命令,使用时也仅支持命令模块下的“识别”和“获取”命令配合使用,如果“识别”命令返回的是数组,则需要遍历或指定索引序号。
¡ 对于使用Mage AI向导工具生成的语法块的内容,还有一定的限制,无法拖出语句块。如一次性生成的语句块未能满足业务需求,可以重新执行Mage AI向导或通过源代码调整。
3. 【新增】"FTP操作"命令。
3.1. 功能描述
在"网络"分类下新增了"FTP"模块,包含11条命令,支持协议有FTP、FTPS、SFTP。在FTP协议下可支持匿名登录,FTPS协议下可设置模式(显示和隐式),默认为"显示",SFTP协议下支持使用密钥文件登录。
3.2. 功能详细介绍
模块名 | FTP |
函数名 | FTP.Connect FTP.CreateRemoteDir FTP.GetFileAndFolderList FTP.RemoteFileExists FTP.RemoteFolderExists FTP.DownloadFile FTP.DownloadFolder FTP.UploadFile FTP.UploadFolder FTP.DeleteFile FTP.Disconnect |
所在位置 | |
说明 | 1、在创建FTP对象时,可根据FTP服务器支持的情况进行选择:FTP、FTPS、SFTP,一般结合"关闭连接"命令成对使用(FTP操作完再执行)。 2、若想动态进行FTP下载操作,可以通过"列举远程目录下的内容"命令,配合"下载文件"和"下载文件夹"命令实现,如果想进行判断逻辑操作,可使用"判断远程文件是否存在"、"判断远程文件夹是否存在"命令;在知晓远程目录的情况下,直接使用"下载文件"和"下载文件夹"命令即可。 3、FTP上传类操作命令有"上传文件"和"上传文件夹",上传文件夹时会在指定的远程目录下创建同名文件夹。 4、若要删除FTP上的文件,可使用"删除文件"命令。 |
4. 【新增】等待鼠标光标空闲命令。
命令位置:鼠标键盘>鼠标>等待光标空闲
使用背景:当窗口程序在读取数据或者处理大量数据时,通常会把鼠标光标设置为忙碌状态,视觉上会看到一个"转圈圈"动态效果,若要等待此"忙碌"状态结束后再接下来执行下一条命令,即可使用此命令。
5. 【新增】"数据库"支持PostgreSQL数据库。
"创建数据库对象"可支持选择"PostgreSQL"选项,但仅支持针对PostgreSQL的关系型特征部分进行"CURD"操作,对象型特征部分暂不支持。
6. 【优化】"文件处理"-"ini格式"命令。
优化"ini格式"命令模块的属性文字描述,对"写键值"命令的逻辑进行优化调整:"小节名"属性只能为字符串类型且不能为空字符串,"键名"、"键值"属性也只能输入字符串类型,若"键名"为空字符串,则"键名"和"键值"都不会被创建。
7. 【新增】"压缩文件或文件夹"命令,支持将多个文件/文件夹压缩为zip文件。
7.1. 功能描述
支持将指定文件或文件夹压缩到指定路径,若存在同名文件则直接覆盖。
7.2. 功能详细介绍
命令位置:文件处理>通用文件>压缩文件或文件夹
命令属性
类型 | 属性名 | 属性说明 | 说明 |
必选 | 输出到 | 输出压缩成功后的路径,如果压缩失败则报错 | 返回字符串 |
文件或文件夹 | 需压缩的文件或文件夹路径。支持输入字符串和数组类型,输入字符串表示单文件或文件夹,输入数组代表的是文件路径的集合(比如选中了相同父路径下的多个文件)。 | 支持选择多个文件或多个文件夹。 |
压缩至 | 压缩后的zip文件路径,如@res"abc.zip" | 需设置完整的zip文件路径。 |
可选 | 设置密码 | 设置压缩文件密码 | |
压缩级别 | 选择压缩算法级别 | 一般选标准 |
7.3. 使用案例
选择多个文件或文件夹,压缩到指定路径。
7.4. 注意事项
压缩至的路径需设置完整的zip文件路径。仅支持压缩成zip的格式文件。
8. 【新增】"解压zip文件"命令,支持zip文件解压。
8.1. 功能描述
支持将指定的.zip文件解压到指定文件夹,若存在同名文件则直接覆盖。
8.2. 功能详细介绍
命令位置:文件处理>通用文件>解压zip文件
命令属性
类型 | 属性名 | 属性说明 | 说明 |
必选 | 输出到 | 解压成功后输出所有已解压的文件路径,如果解压失败则报错 | 返回数组 |
压缩包路径 | 需要解压的zip包路径 | 支持1次解压1个zip包 |
解压至 | 解压到指定文件夹 | 选择文件夹路径 |
可选 | 解压密码 | 设置压缩包的解压密码 | 如有密码,则设置,无密码不用设置。 |
8.3. 使用案例
选择一个zip包,并解压到指定文件夹中。
8.4. 注意事项
如果zip包损坏或有密码但没配置解压密码,解压会报错。
9. 【新增】"二维码识别"命令模块,支持QR二维码识别。
QR码(全称为快速响应矩阵图码;英语:Quick Response Code)是二维码的一种,在日常工作的文书、标签以及生活消费中非常常见,即人们口头常说的"扫二维码"就是扫QR码。UiBot为补足此缺失场景,特在"界面操作"模块下新增"二维码识别"模块,并包含"图像QR二维码识别"、“屏幕QR二维码识别”命令,分别用来识别图片、屏幕区域中的QR码信息(支持多个QR码识别),即返回字符串数组。
10. 【新增】"判断窗口是否存在"命令,支持判断窗口是否存在。
在编写RPA流程时,常见使用"判断元素是否存在"命令,做一些前置条件判断,而元素可能有变化或者经常变化,这样会导致维护更新流程的工作量提高,影响RPA的产出效益。故在"界面操作—窗口"模块下新增"判断窗口是否存在"命令,让前置条件判断更符合实际场景,逻辑更加严谨,有益于RPA流程的健壮性。如下图以WPS工作表为例,可以判断标题为"工作簿1"的窗口是否存在,若存在则会快速返回True,搜寻一定时间后若不存在则返回False。
11. 【新增】"IMAP"命令模块,支持以IMAP协议接收和处理邮件,并可根据邮件头(主题、收件人、发件人、抄送人)信息被包含关键字筛选邮件。
常用的电子邮件协议有SMTP、POP3、IMAP4,为补全自动化支持,特新增IMAP模块,以IMAP协议接收和处理(移动、删除)邮件,共计有8个命令,在使用这些命令之前,一定要在目标邮箱服务器中开启IMAP服务以及设置。
l 连接邮箱
以QQ邮箱为例,使用IMAP协议连接邮箱服务器,配置信息:服务器地址为imap.qq.com,端口号为993,SSL加密为是,登录帐号这里若为QQVIP邮箱请填写登录帐号,若为普通邮箱则与邮箱地址一致。
单独选中运行此命令,连接成功后可看到如下图所示类似的输出:
l 获取邮箱文件夹列表
此命令是一条辅助命令,用来从邮件服务器上拉取邮箱文件夹列表信息,从而知晓其他命令中属性"邮箱文件夹"所需要的的值。
"原始报文"选择"是",本命令和"连接邮箱"命令一起选中运行时,可看到如下图所示的输出信息:
"(\\NoSelect \\HasChildren) \"/\" \"其他文件夹\""这块信息有一个特别的提示——NoSelect,代表在移动、接收邮件时,此处的文件夹是不可选的(若故意操作则会抛出异常信息),来看看实际Web界面中是显示的哪些邮箱文件夹:
"我的文件夹"对应原始报文中的"其他文件夹"、"收件箱"对应原始报文中的"INBOX"、"已发送"对应原始报文中的"Sent Messages"、"草稿箱"对应原始报文中的"Drafts"等等,知道这些规律后,后续的IMAP模块命令就知晓"邮箱文件夹"的填写值了。存在规律的原始报文可直接提取出邮箱文件夹列表,如下图所示:
l 获取邮件列表
获取邮件列表时可仅获取未读邮件,且可对未读邮件设置为已读状态,这是区别于POP协议的地方,须与"连接邮箱"命令一同运行。
若"邮箱文件夹"处填写"其他文件夹/test",因为本身此文件下不存在邮件,所以会返回空数组。此命令返回的数组中元素(存在邮件)即为邮件对象,移动邮件、删除邮件、下载邮件中的附件都要依赖它,所以也是需要结合一同运行使用。
l 移动邮件
指定邮箱对象、目标邮箱文件夹、邮件对象后,即可移动邮件,但非"获取邮箱文件夹"命令返回的邮箱文件夹,是不能被成功操作的,且"NoSelect"标记的文件夹也不能。
l 查找邮件
在指定邮箱文件夹里,支持筛查包含邮件头关键字(主题、发送人、收件人、抄送人)信息的邮件,返回包含查找关键字的所有邮件(邮件数量受邮件服务器端设置影响),这也是区别于POP协议的地方。
l 下载附件
根据指定的邮箱对象、邮件对象、存储路径,可下载该邮件中的所有附件,并返回由所有附件文件路径组成的数组,方便后续的命令处理。这里跟POP协议中的"下载附件"用法相同,一样要结合相关命令才可执行。
l 删除邮件
指定邮箱对象、邮件对象,删除对应的邮件,执行后则在邮箱服务器中直接完完全删除了(除非邮件服务器开启了限制客户端删除邮件)。
l 断开邮箱连接
使用完IMAP的所有操作,最后"约定俗成"使用"断开邮箱连接"命令,断开服务器连接。
12. 【新增】"本地OCR(实验功能)"命令。
12.1. 功能描述
原有的OCR命令修改为了本地OCR(实验功能)。实现本地可直接使用OCR识别。原有的OCR命令从5.3.0版本后移除,社区版用户如果继续使用,则会报异常提醒使用本地OCR。
12.2. 功能详细介绍
模块名 | LocalOCR |
函数名 | LocalOCR.Click LocalOCR.Hover LocalOCR.Find LocalOCR.ImageOCR LocalOCR.ScreenOCR |
所在位置 |
|
说明 | 与原OCR命令使用一致。 |
12.3. 使用案例
直接使用。
12.4. 注意事项
使用本地OCR优势:
¡ 不再受制于网络,本地既可实现OCR的识别。
¡ 不再受限调用次数,只受限于机器的性能。
¡ 对于中文的识别支持较好。
¡ 识别的稳定较好。
使用本地OCR注意:
¡ 对于社区版用户继续使用原OCR命令会直接抛出异常,报告此功能已被本地OCR取代。
¡ 特殊字符,数字,英文等类型的文字准确率不高.
13. 【新增】"OutLook"模块新增"下载附件"、"删除邮件"命令。
函数名 | Outlook.DeleteMailMessage |
所在位置 | |
说明 | 删除指定邮件消息 |
属性(参数) | 邮件消息对象 | 邮件列表中的邮件消息对象。 |
源代码:
Outlook.DeleteMailMessage("")
函数名 | Outlook.DeleteMailMessage |
所在位置 | |
说明 | 删除指定邮件消息 |
属性(参数) | 邮件消息对象 | 邮件列表中的邮件消息对象。 |
保存路径 | 邮件附件保存的路径,可填写绝对路径也可使用@res\"路径\"形式表示当前流程res文件夹下的路径,路径分隔符需转义,如\"C:\\\\UiBot\"或@res\"UiBot\\\\UiBot\"。 |
源代码:
arrRet=Outlook.DownloadAttachments("","")
14. 【新增】系统变量,支持直接使用系统变量。
变量名 | 描述 |
$BlockInput | 上一个实线连接的流程块的Return值,或者上一个虚线连接的流程块抛出的异常。 |
$UB.InstallPath | UiBot的安装路径。 |
$UB.Version | UiBot的版本信息,将会得到一个Dict变量,里面包含不同的字段,标明版本信息的不同组成部分。 |
$Flow.WorkPath | 当前运行的流程或者子流程的所在路径。如果是流程,就是流程所在路径。如果是子流程,就是子流程所在路径。 |
$Flow.ElaspedTime | 当前运行的流程或者子流程已经运行的时间,以毫秒为单位。比如 $Flow.ElaspedTime 的值为100,代表从当前流程开始运行,到目前为止已经过了100毫秒。 |
15. 【优化】"模拟按键"命令。
增加以下按键模拟:
按键 | 说明 |
Right Ctrl | 键盘右侧Ctrl键 |
Right Alt | 键盘右侧Alt键 |
Right Shift | 键盘右侧Shift键 |
Right Win | 键盘右侧Win键 |
` | 反引号 |
- | 减号 |
= | 等于号 |
[ | 中括号左半边 |
] | 中括号有半边 |
\ | 反斜杠 |
; | 分号 |
' | 单引号 |
, | 逗号 |
. | 句点 |
/ | 正斜杠 |
Numpad 0 | 数字键盘数字0 |
Numpad 1 | 数字键盘数字1 |
Numpad 2 | 数字键盘数字2 |
Numpad 3 | 数字键盘数字3 |
Numpad 4 | 数字键盘数字4 |
Numpad 5 | 数字键盘数字5 |
Numpad 6 | 数字键盘数字6 |
Numpad 7 | 数字键盘数字7 |
Numpad 8 | 数字键盘数字8 |
Numpad 9 | 数字键盘数字9 |
NumLock | 数字锁定键 |
Numpad / | 数字键盘正斜杠 |
Numpad * | 数字键盘星号 |
Numpad - | 数字键盘减号 |
Numpad + | 数字键盘加号 |
Numpad . | 数字键盘句点 |
16. 【优化】离线激活码输入体验提升。
企业版和社区版的"离线激活"在做激活码输入时,字母可自行小写转大写,连续输入的过程中会自动添加连接符"-",当达到最大长度时提示用户且不能继续输入。
17. 【优化】"通用文件"命令模块,支持自动识别字符集编码,内容写入文件时若文件不存在会自动创建。
优化"文件处理-通用文件"下的"读取文件"命令,字符集编码属性新增支持"自动识别",且为默认状态,这样让用户不必思考编码转换(分散精力用工具去查看字符集编码),而是更多精力关注在业务处理上,在一定程度上提升易用性。
优化"文件处理-通用文件"下的"写入文件"命令,当写入内容至文件时若文件不存在,则自动创建该文件。
18. 【优化】"浏览器-等待网页加载"命令。
优化"软件自动化-浏览器"下的"等待网页加载"命令,对属性"元素检测"的处理逻辑调整如下:
当页面加载完后,判断是否存在指定元素,不填写则不进行任何元素判断并返回0;另支持传入元素数组来判断多个元素是否存在,都存在则返回1,若任意一个不存在则返回0。
19. 【优化】源代码自动排版缩进。
19.1. 功能描述
在可视化触发操作或修改命令会自动缩进源代码。
19.2. 功能详细介绍
触发自动缩进排版条件:
¡ 关闭流程块,再重新打开;
¡ 切换到可视化视图,进行任何修改之后,再切换回源代码视图。
程序会如何处理?
¡ 把缩进调整到易读的状态(一律采用Tab符号进行缩进)
¡ 把所有关键字(图中蓝色的词)调整为单词首字母大写的形式,例如Do、UnitTest,等等。
19.3. 使用案例
在源代码视图编写完脚本后,切换回可视化,在可视化界面任意修改或添加删除命令都会触发源代码缩进。
19.4. 注意事项
不处理情况:
¡ 空行不会增加或删除
¡ 行内空格不会增加或删除
¡ 注释不受影响
20. 优化
UI分析器
¡ 优化整体界面体验,窗口增加放大缩小和全屏。
¡ 每个模块支持可拖动模块大小。
¡ 元素的属性支持可选择和可复制属性值。
其他
优化对WPS2019的支持,整合模式下也可以直接进行自动化操作。
三、 BUG修复
¡ 修复命令中心卸载本地自定义插件命令卸载完成无提示信息的问题。
¡ 修复数据抓取偶发性奔溃问题。
¡ 修复离线激活到期日期不一致的问题。
¡ 修复流程块在拖动过程中的样式问题。
¡ 修复时间线回滚提示信息不正确的问题。
¡ 修复流程图变量添加变量按钮不可见的问题。
¡ 修复命令手册获取时间(日期)、获取时间(无日期)、构造时间(无日期)点击不跳转问题。
¡ 修复流程视图展示输出窗口时右侧添加较多流程图变量时无法滚动查看的问题。
¡ 修复流程图变量面板不能上下拖动的问题。
¡ 修复启动应用程序命令默认参数报错不正确的问题。
¡ 修复python插件中有依赖pyd库时,发布失败的问题。
¡ 修复json字符串转json对象命令,json字符串中含有超过int32宽度数字时运行报错的问题。
¡ 修复File.Append()执行结果不正确的问题。
¡ 修复变量右值修改不生效的问题。
四、 已知问题
¡ 32位的插件不能在64位的Creator上使用。解决办法是安装32位版的Creator。
¡ 多个判断块当描述相同时,正确表达式的判断块也会被标记为有错误块提示。
¡ 录制功能的输入密码为明文。
¡ 辅助流程中的子流程,输入变量不能接收流程图变量的值,输出变量的值无法暴露给引入子流程块。
¡ 子流程中return的值,主流程无法通过系统变量$BlockInput取到。
¡ 通过$BlockInput只能取到上一流程块的异常/return值, 不能跨流程块传递(跨判断块也不行)
¡ 源代码模式下系统变量联想,输入$Flow. , 暂无法提示补全。
特别说明:需要office 2007以上 或者WPS2016
JNLP支持请到安装目录下的 support\java 下安装一下 JavaExtensionInstaller.exe
感谢您对 UiBot的支持,若您有任何使用上的问题,请在社区发帖说明。 也可加入UiBot 交流群获取支持。
UiBot 交流⑦群:950648644(UiBot使用问题咨询)7*24小时客服:>点击联系<