目录
基础功能
网页操作
想对网页操作首先推荐使用chrome,需要安装扩展
数据库
安装数据库
进入官网,选择数据库版本,推荐使用5.7.xx版本,点击download下载程序包
详细安装教程请查阅其他博主的教程《windows环境下msi方式安装Mysql》
完成MySQL安装后,查看数据库,还需要一个可视化工具,否则就只能在cmd窗口查询数据库,可视性不高
MySQL的可视化工具推荐使用Navicat Premium,下载和安装方法:链接 不会请参考十年前如何下单机游戏
新建MySQL连接就可以看见刚才创建的数据库了
uipath默认是没有数据库相关操作的,若想使用数据库,则需要先准备前置条件
1. 安装ODBC
根据自己的MySQL版本安装,MySQL网上有很详细的安装教程,这里不过多介绍,注意uipath只支持32位ODBC!!!
2. 设置ODBC
打开ODBC开始设置
添加用户DSN数据源
选择Unicode编码的ODBC源
填写红框内容,测试出现Connection Successful代表测试成功,不成功则可能是密码不对,没有问题便可以直接保存
3. 安装sql扩展包
打开流程,选择管理扩展包进行安装
点击保存后开始下载,速度很慢等等就行
4. 连接数据库
在流程中添加选择连接数据库
再配置连接
下面出现绿色succeeded则连接成功了
基础操作
数据库
连接
命令:连接到数据库
命令位置
命令ui
命令属性
属性中只需要对连接的返回结果赋值,将变量名填入【输出->数据库连接】即可,变量的作用域一般为全局,一次连接可供后续使用,变量类型为UiPath.Database.DatabaseConnection
数据库连接在之前的【基础功能->数据库->4.连接数据库】中已经讲过了,这里不再赘述
增删改
命令:运行命令
特点:不支持查询命令,无法返回查询结果,只能返回影响条数
命令位置
命令ui
命令属性
需填写以下数据
1.输入
SQL命令(必填
参数(选填
2.连接配置
现有连接(必填
现有连接直接填入【数据库连接】输出的变量即可
SQL命令中需要"英文半角双引号"注明这是字符串,SQL的命令教程请移步这里
SQL命令下方参数非常重要,若想将下图中的id替换为变量,则需要使用?代替id的值
替换为问号后,开始设置参数,参数名称只提供方便开发者记忆的功能,没有SQL是id 参数就必须是id这种说法,问号在SQL语句中第几次出现,就对应从上向下第几个参数
查
命令:运行查询
特点:只能运行查询命令(也许),能返回查询到的结果
命令位置
命令ui
命令属性
除了需要使用变量储存输出结果,其余和增删改命令完全一致
变量类型为System.Data.DataTable
常用变量
变量含义
一、什么是变量?
变量就是可以变化的量,量指的是事物的状态,比如人的年龄、性别,游戏角色的等级、金钱等等
二、为什么要有变量?
为了让计算机能够像人一样去记录事物的某种状态,并且状态是可以发生变化的
详细地说:
程序执行的本质就是一系列状态的变化,变是程序执行的直接体现,所以我们需要有一种机制能够反映或者说是保存下来程
举例:
替换A与B的值
直接使用A=B,B=A后AB的值都等于B
则需要使用一个变量C作为暂存值的容器
C=A
A=B
B=C
变量类型
各程序的常用变量类型
//UiBot
Dim 变量 = "" //变量
Dim 变量 = '' //变量
Dim 变量 = 1 //数字
Dim 变量 = true //布尔
Dim 变量 = [] //数组
Dim 变量 = {} //字典
1 Traceprint "123"
2 Traceprint '123'
3 Traceprint 123
4 Traceprint true
5 Traceprint [1,2,3]
6 Traceprint {'a':1,'b':2,'c':3}
//输出窗口
——————————————————————————————————————————————————————————
第一行:"123"
第二行:"123"
第三行:123
第四行:true
第五行:[
1,
2,
3
]
第六行:{
"a":1,
"b":2,
"c":3
}
//UiPath
Dim 变量 AS String = "" //字符串
Dim 变量 AS Int = 1 //数字
Dim 变量 AS Boolean //布尔
Dim 变量 AS Array<Int> //数组
Dim 变量 AS Dictionary<String:Int> //字典
Dim 变量 AS DataTable //数据表
———————————————————————————————
| | |
———————————————————————————————
//Javascript
var 变量 = "" //字符串
var 变量 = '' //字符串
var 变量 = 1 //数字
var 变量 = true //布尔
var 变量 = [] //数组
var 变量 = {} //字典
--MySQL
int --数字
varchar --字符串
enum --字符串(数据验证)
time --时间
text --字符串
uipath底层代码为VB.NET,变量类型繁多,下方仅介绍常用部分;代码作用域与传统代码大致一致,分为全局变量和局部变量,通过创建变量时选择作用域,作用于最上级目录则为全局变量,作用于下级目录则为局部变量
字符串
类型:string
示范值:"Abc"
详情:只能用半角(英文)双引号包裹住,uipath中大部分操作都需要涉及字符串,由于数据的多样性,大多数情况下需要使用字符串类型的数据时,数据非字符串,则需要使用ToString命令转化为字符串后再处理
数字
类型:int
示范值:123
详情:直接输入数字即可,中间不能参杂数字以外的值
布尔
类型:boolean
示范值:true
详情:只有true和false两个值,分别对应真和假
字典
类型:dictionary
示范值:{"a":"1","b":"2"}
详情:由若干个 键:值 组成,括号内可存在多组 键:值 如{键1:值,键2:值},键作为唯一值无法重复出现,新建键存在则默认覆盖原键的值
数组
类型:array
示范值:{1,2,3,4}
详情:由若干个值组成,值按照顺序一一对应,从0开始,区示范值中的1,则需要区第0位
数据表
类型:datatable
示范值:
title1 | title2 | title3 |
123 | abc | true |
详情:类似于表格,同数据库一样没有可视化软件时不可见,uipath中数据库查询、批量抓取都需要使用datatable存储输出数据
变量操作
输出数据
字符串:
字符串通用性较高,基本操作都可通用,直接放入变量名即可使用
数字:
数字想要使用或输出时,需要转化为字符串才可使用;转化方式如下
数字.ToString
布尔:
布尔值大多使用在判断中,表达式只有布尔时等效为判断 布尔=true
字典:
使用花括号加键值进行取值,例如 字典={"a":"1","b":"2"} 获取1的表达式则为:字典{"a"}
数组:
使用花括号加数字取值,数字从0开始,0代表数组中的位置1,依次类推,例如 数组={1,2,3,4} 获取4的表达式则为:数组{3}
数据表:
数据表取值比较特殊,有多种取值方式,此处以举例的形式讲解
数据表:
id | name | pnbr |
1 | 张三 | 17702356606 |
2 | 李四 | 19923608988 |
表达式:
数据表.Rows(0)("name").ToString
值:
张三
解释:.Rows()命令把整个数据表看作一个数组,取第一条则是.Rows(0)这种状态下的数据无法直接使用,目前的数据类型为object,使用.ToString命令转化后值为"object"无法使用,需要更进一步精确到列名.Rows(1)("id")完成此步后再使用.ToString命令即可输出内容"2"
表达式:
数据表.Select(" id = '2' ")(0)("pnbr").ToString
值:
19923608988
解释:此方法在没有id等于2时运行会直接报错,以上方表达式为例id = '2'时有结果,id = '3'时报错
正则表达式:
表达式:
System.Text.RegularExpressions.Regex.Match("13ab54","[0-9]{2}").ToString
值:
13
解释:uipath中存在正则表达式命令,可以不用靠代码实现,uipath中代码的主要功能是保持页面整洁
流程逻辑
uipath中的流程图有两种,分别为【流程图】和【状态机】
流程图主要由【判断块】【流程块】组成,每一个判断都对应两种结果,结构示意如下
状态机主要由【状态】 组成,每一个状态可以分出若干分支,每个分支可以指定分支条件,状态机主要优势为存在多个判断条件时,不需要逐个添加判断块,每个分支都有很强的指向性,外观相比【流程图】更加简洁易懂,但需要较强的流程逻辑,结构示意如下
需要注意的是,状态机中的【状态】有三个板块entry、exit、transition,三个板块并不是按顺序执行的,其顺序为
先执行entry
再进行transition判断
进入下一个流程前再执行Exit
另外transition中的多个判断也不是按顺序执行,若【未知】的条件是有报错信息,【失败】的条件是报错信息为xxx,那么运行时很有可能出现【失败】满足条件,但先执行了【未知】的判断,导致本应执行【失败】,却执行了【未知】
想要避免执行了错误的流程的情况,需要限制条件最广的【未知】,在条件中的trigger中加入判断,判断已经把其他判断执行过一次,以and追加限制条件;当所有判断都执行过一次,并且没有判断成功,再进入限制条件最广的那个判断
流程跳转
uipath
流程错误处理
函数
未完成