UiPath 问题及操作汇总

目录

基础功能

网页操作

数据库

1. 安装ODBC

2. 设置ODBC

3. 安装sql扩展包

4. 连接数据库

基础操作

数据库

连接

增删改

常用变量

变量含义

变量类型

字符串

数字

布尔

字典

数组

数据表

变量操作

输出数据


基础功能

网页操作

想对网页操作首先推荐使用chrome,需要安装扩展

数据库

安装数据库

进入官网,选择数据库版本,推荐使用5.7.xx版本,点击download下载程序包

点击下载MySql

详细安装教程请查阅其他博主的教程《windows环境下msi方式安装Mysql》

完成MySQL安装后,查看数据库,还需要一个可视化工具,否则就只能在cmd窗口查询数据库,可视性不高

MySQL的可视化工具推荐使用Navicat Premium,下载和安装方法:链接 不会请参考十年前如何下单机游戏

新建MySQL连接就可以看见刚才创建的数据库了 

uipath默认是没有数据库相关操作的,若想使用数据库,则需要先准备前置条件

1. 安装ODBC

根据自己的MySQL版本安装,MySQL网上有很详细的安装教程,这里不过多介绍,注意uipath只支持32位ODBC!!!

点击下载ODBC

da0891038f7c4d8d80aa31a4931ba871.png

2. 设置ODBC

打开ODBC开始设置

c00e098a2bdc40f4bc4a6fb3ed2632d9.png

 添加用户DSN数据源

c6fa53cb7c14400e91950cc0058aa989.png

选择Unicode编码的ODBC源

7b647c714cf0408eb1e34274e20f18e2.png

填写红框内容,测试出现Connection Successful代表测试成功,不成功则可能是密码不对,没有问题便可以直接保存 

 8123c81eecd1499d9f0d2fd0bdfabbc9.png

3. 安装sql扩展包

打开流程,选择管理扩展包进行安装

de31927d94e34a609e2964358d0b445f.png e1c95d51638f481eb3810a953099aaba.png

点击保存后开始下载,速度很慢等等就行

7be136b9ac9b4f4b9dab6b2717a91dba.png

4. 连接数据库

在流程中添加选择连接数据库

fa771662e6b94b42b36d80392791d07f.png

再配置连接

e6be1fd1a090442eb989e39efe0c6f98.png

eed62c20dac64ea4ab842f9e0aaceee5.png

c9d365bbf34744cd9b51200171839ca7.png

2897d07d4c0b446bb06505d30ece45ff.png

下面出现绿色succeeded则连接成功了

基础操作

数据库

连接

命令:连接到数据库

命令位置

265a333963a6439788aa41d8f865f473.png

命令ui

579f3fc74e644ed18d5afbb1634aa771.png

命令属性

属性中只需要对连接的返回结果赋值,将变量名填入【输出->数据库连接】即可,变量的作用域一般为全局,一次连接可供后续使用,变量类型为UiPath.Database.DatabaseConnection

d5913bbfbb4d4409b8b6964190cf6777.png

257e2a06d36f4e6a84ccd626d00f4954.png

数据库连接在之前的【基础功能->数据库->4.连接数据库】中已经讲过了,这里不再赘述

增删改

命令:运行命令

特点:不支持查询命令,无法返回查询结果,只能返回影响条数

命令位置

2ebb3fddf03648dea3638af324782b47.png

命令ui

5c1dfc1501384a9da95b0389deb7562e.png

命令属性

需填写以下数据
1.输入

        SQL命令(必填

        参数(选填

2.连接配置

        现有连接(必填

af33264ce95543319cd46dfc6258a407.png

现有连接直接填入【数据库连接】输出的变量即可

SQL命令中需要"英文半角双引号"注明这是字符串,SQL的命令教程请移步这里

SQL命令下方参数非常重要,若想将下图中的id替换为变量,则需要使用?代替id的值

f344f209abe44028b094f5f791398354.png

4ace21fbf82e468588e641c3ce0f732d.png

替换为问号后,开始设置参数,参数名称只提供方便开发者记忆的功能,没有SQL是id 参数就必须是id这种说法,问号在SQL语句中第几次出现,就对应从上向下第几个参数

1a485d5089e94e71b51394ef8f0befaf.png

命令:运行查询

特点:只能运行查询命令(也许),能返回查询到的结果

命令位置

302a6d57bc3f41e28750347610934f10.png

命令ui

5da5f88ae2cc404385ff6393839b36cd.png

命令属性

除了需要使用变量储存输出结果,其余和增删改命令完全一致

变量类型为System.Data.DataTable

a1fde05ba23c435d934a8f8747823e4c.png

常用变量

变量含义

一、什么是变量?
变量就是可以变化的量,量指的是事物的状态,比如人的年龄、性别,游戏角色的等级、金钱等等

二、为什么要有变量?
为了让计算机能够像人一样去记录事物的某种状态,并且状态是可以发生变化的
详细地说:
程序执行的本质就是一系列状态的变化,变是程序执行的直接体现,所以我们需要有一种机制能够反映或者说是保存下来程

举例:

替换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,变量类型繁多,下方仅介绍常用部分;代码作用域与传统代码大致一致,分为全局变量和局部变量,通过创建变量时选择作用域,作用于最上级目录则为全局变量,作用于下级目录则为局部变量

ae49914d65ca49268a6e17d17e84e01c.png

字符串

        类型: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

        示范值:

title1title2title3
123abctrue

        详情:类似于表格,同数据库一样没有可视化软件时不可见,uipath中数据库查询、批量抓取都需要使用datatable存储输出数据

变量操作

输出数据

        字符串:

字符串通用性较高,基本操作都可通用,直接放入变量名即可使用

       

        数字:

数字想要使用或输出时,需要转化为字符串才可使用;转化方式如下

数字.ToString

        布尔:

布尔值大多使用在判断中,表达式只有布尔时等效为判断 布尔=true

        字典:

使用花括号加键值进行取值,例如 字典={"a":"1","b":"2"} 获取1的表达式则为:字典{"a"}

        数组:

使用花括号加数字取值,数字从0开始,0代表数组中的位置1,依次类推,例如 数组={1,2,3,4} 获取4的表达式则为:数组{3}

        数据表:

数据表取值比较特殊,有多种取值方式,此处以举例的形式讲解

数据表:

idnamepnbr
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中的流程图有两种,分别为【流程图】和【状态机】

        流程图主要由【判断块】【流程块】组成,每一个判断都对应两种结果,结构示意如下

f9218c52865a40d289f7e6a4e995840a.png

        

        状态机主要由【状态】 组成,每一个状态可以分出若干分支,每个分支可以指定分支条件,状态机主要优势为存在多个判断条件时,不需要逐个添加判断块,每个分支都有很强的指向性,外观相比【流程图】更加简洁易懂,但需要较强的流程逻辑,结构示意如下

985cd170b26b4bf7b9f060b5c10d5d52.png

         需要注意的是,状态机中的【状态】有三个板块entry、exit、transition,三个板块并不是按顺序执行的,其顺序为

        先执行entry

        再进行transition判断

        进入下一个流程前再执行Exit

        另外transition中的多个判断也不是按顺序执行,若【未知】的条件是有报错信息,【失败】的条件是报错信息为xxx,那么运行时很有可能出现【失败】满足条件,但先执行了【未知】的判断,导致本应执行【失败】,却执行了【未知】

        想要避免执行了错误的流程的情况,需要限制条件最广的【未知】,在条件中的trigger中加入判断,判断已经把其他判断执行过一次,以and追加限制条件;当所有判断都执行过一次,并且没有判断成功,再进入限制条件最广的那个判断

32496b068fe245ca8fd9c47c754db4f2.png739b9ae79fd044f7bcee94905d337354.png

流程跳转

        uipath

流程错误处理

函数

未完成

  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值