RPA产品小白学习手册-自动化流程构建
2023-02-24 16:41:24 1 举报
AI智能生成
针对近期很火的RPA工具做的文字版教程,通过解构流程构建过程中所需要做的事情,将学习分为一个基本概况+七大应用模块+正则表达式+python语言对照的学习合集,适合新手小白或者有python基础的人员学习RPA操作
作者其他创作
大纲/内容
网页、软件、Excel
场景
判断、等待、循环
三大逻辑
数字、字符串、列表
数据的表达
元素的实质、元素的通用性
元素的通用性
变量命名、子流程
流程的规范性
Try & Catch
错误处理
单元测试、全局变量
流程的调试
建立一个应用的骨架流程
IF→执行
单分支
IF&ELSE
二分支
IF & ELSE IF & ELSE
多分支
判断
增加流程稳定性,可以等待出现也可以等待消失
加载有延迟或者监控事件
使用场景
固定等待时间
等待时间固定
监控某元素出现/消失
等待时间不固定
等待
批量操作
与等待搭配使用监控事件
次数循环
依次循环
条件循环
循环类型
继续下一次循环
退出整个循环
控制循环
循环
三大基本逻辑
数字
字符串
布尔类型
单个数据
列表(数据容器)
多个数据
数据类型
在python表达式直接输入和运算
整数和小数两种
数字格式
文本模式下直接输入
python表达式下用双引号输入
拼接是用双引号和加号操作
表达形式
字符编号(正向序从0开始,逆向序从-1开始)
截取一个字符text[0]
截取一段字符text[0:3]
主要操作
字符串格式
[\"杭州\
中括号内,用引号圈起来,逗号隔开,英文格式
正向序和逆向序同理,这里截取的是字符串
常用的是列表的依次循环
列表
整数int(\"10\")
小数float(\"3.14\")
字符串转数字
str(100)+\"元\"
数字转字符串
数据类型切换
数据表达
启动&循环Excel
读取&写入Excel
新增&删除行列和sheet表
读取总行数
输入行号和列号(ABC)
读取内容为数字或字符串(文本格式)
单元格
输入行号(数字)
行
输入列号(大写字母)
列
输入区域左上角和区域右下角的行列号
区域
读取Execl内容
输入:起始行号和结束行号
行号同时也被循环
循环所有行
输入:起始列号和结束列号
列号同时也被循环
循环所有列
输入:区域左上角和区域右下角单元格的行列号
循环区域
循环Execl内容
第一个&最后一个
添加sheet页
名称&位置
激活sheet页
sheet页
删除某一行
删除所有行
删除
选中区域
拷贝区域
粘贴区域
获取第一个可用行
获取第一个可用列
获取列上的第一个可用行
区域处理
删除Execl内容及sheet页操作
Excel的交互
变量名只能包含字母、数字和下划线。且数字不能开头
name.title(),把每个单词的首字母大写
name.upper(),把每个字母都大写
name.louwr(),把每个字母都小写
拼接时字符串要用引号,变量不需要用引号
name.lstrip,删除字符串前面的空白
name.rstrip,删除字符串后面的空白
name.strip,删除字符串前后的空白
#后面写的注释不会体现在终端
1、字符串
name[0]='KOBE',用赋值的方式修改列表某位置的值
name.append('KOBE'),在列表最后添加一项
del name[0],删除某个位置的值,并且不再启用
name.pop(),删除最后一项,并且把值保留下来
name.pop(0),删除某一位置的项,并且把值保留下来
name.remove('KOBE'),删除指定值,并且把值保留下来
name.sort(),同等大小写按字母顺序排列,永久性更改,不能直接打印函数
name.sort(reverse=Ture),同等大小写按字母颠倒顺序排列,reverse是颠倒的意思,永久性更改,不能直接打印函数
print(sorted(names)),同等大小写按字母顺序排列,显示时更改,能直接打印函数
names.reverse(),只是颠倒原有顺序,不对它排序。永久性更改,但是可以改回来,再次用reverse即可
len(names),列表的长度,可以直接打印
2、组织列表
循环:for name in names
循环函数中,缩进同样格数表明他们处于同一个循环,会被反复执行
缩进常见错误:忘记缩进-忘记多个缩进-多余的缩进-循环后多余的缩进-遗漏了冒号
range(1,5)即把1-5选出来,不包含5,用于数值列表
range(1,5,2),指定两个数相差2
min(list),max(list),sum(list),对列表进行简单统计
列表的切片处理names[0:4],代表0-3的元素,如果前面不填则默认从第一个开始,names[2:]即第3个到末尾
切片本身就是一个列表,例如for x in names[:3]
用names[:]作为names的一个副本,内容一样但是是两个列表
普通列表可以灵活修改,元组是创建以后不能被修改的列表,()表示元组
修改元组变量不能直接修改,可以通过重新赋值的方式改变输出的内容
3、操作列表
==用于判断是否相等,!=用于判断是否不等,同个逻辑关系下需要用:连接,配合缩进
判断是否相等时是需要考虑大小写的,如果大小写不重要就需要额外处理,可用于检查是否已经存在相当数据
需要多个条件同时满足可以用and,例如A>0 and B>0
只需要多个条件中有某个满足可以用or
检查特定值是否存在于列表,name in names,接下去判断
检查特定值是否不存在于列表,name out in names,接下去判断
if后面不一定接else,也可以由一连串elif组成,对情况的描述更清晰,else比较宽泛模糊
if-elif-else最终只输出一个判断结果,有时候需要判断多个独立if(不管前面的结果是怎样,都需要进行到这一步)
判断列表是否为空,只需要if names即可以返回一个判断值
使用多个列表,判断两个列表的差异,可以循环其中一个,看是否每一项都在另外的列表里
4、条件判断
通过选取字典和获取键名,即可获取键值
name['KOBE']=24,通过赋值的方式添加和修改键-值对
for name in names.keys(),遍历字典中的所有键
按顺序遍历字典的所有键可以用sorted(),临时显示
for name in names.value(),遍历字典中的所有值
set(names.value()),可以获得集合,集合可以看成特殊的、不带重复项的列表
字典嵌套列表、列表嵌套字典、字典嵌套字典
5、字典
+=是在字符串后面再附加一个字符串
name=input(KOBE)
input输入的数字,在输出时是字符串格式,需要int()转化为数字使用,age=int(age)
%是求两数相除以后的余数,不会体现倍数,搭配==0判断奇偶
while循环要搭配变量去比较,可以设置一个标志,用于判断
终止循环可以用break语句,控制循环
继续下一次循环用continue语句,控制循环
判断列表是否为空,直接while list就可以了,不用加其他东西
6、用户输入和while循环
使用def来定义我所需要的函数,def say()
参数传递,例如def say(name),name就变成了一个变量,可以赋值
形参就是假定的,实参就是真实数据
默认值参数,在定义函数时就输入参数,在调用时就不用输入了;如果新输入则覆盖默认值
参数输入过多或过少都会提示错误
7、函数
打开文件需要用到open(),函数
8、对文件操作和异常处理
Python对应函数
有利于简化主流程
方便单元化测试
可复用,只需要调用现成的
独立功能模块化
流程之间用【全局变量】传递数据,让数据有通用性
子流程
检测出一个就地解决
固定因素
使用Try Catch
正常流程执行Try,异常情况执行Catch
用于监控【循环内】的流程
随机因素
影响流程稳定性的因素
异常的处理
路径+限制条件
class——种类
index——位置
innerText——内容
常用的限制条件
元素捕获的实质
原因:元素属性发生变化
处理办法:先校验-后修复,只留下通用的属性
特殊情况:修复无法处理时,对比查找属性,更换或者取消或通配(*)
找不到元素的情况
原因:限制条件过于宽松
处理办法:多加一些限制条件,如:class,index
注意:最后一定要校验元素通用性
找到很多元素的情况
元素是通用的嘛(元素的编辑)
如何自定义好友昵称(自定义对话框)
一定能搜出来嘛(条件判断)
有没有需要加载等待的地方(等待)
如何给钉钉好友批量发送消息(循环)
如何从Excel读取昵称再回填备注(与Excel交互)
能否把独立的内容模块化(子流程和全局变量
如何应对随机错误(Try & Catch)
软件操作自动化
使用场景:软件操作自动化的元素无法捕捉时的特殊情况;其他都与软件操作自动化相同
处理办法:重新捕捉&本地导入
新增的部分:图像通用性(别人要使用这套流程)
核心点:鼠标位置
功能:把鼠标移动到固定位置,执行点击和滚动等操作
鼠标自动化
核心点:快捷键
功能:执行快捷键和输入文本
键盘自动化
核心点:搜索图像
功能:在指定窗口搜索图像,完成点击、等待等操作
图像自动化
鼠标键盘+图像自动化
从文本中提取有规律的内容
从文本中提取内容&数据批量抓取中格式化
用处
a—字符本身
.点—匹配除了换行符以外所有字符
\\d—匹配单个数字
\\w—匹配字母文字下划线数字
单字符
[aeiou]—匹配括号里任意一个字符
[0-9]—匹配0-9任意一个数字
[a-z]—匹配a-z任意一个字母
[\\u4e00-\\u9fa5]—匹配任意一个汉字
[a-z0-9A-Z]—匹配字母a-z、数字0-9、大写字母A-Z
字符集
原理是把单字符组合起来
匹配逻辑是从左至右找到第一段整体匹配的内容
多字符
\\d+
+:匹配1次以上,尽可能多的匹配
.*
*:匹配不限次,尽可能多的匹配
{n}:匹配n次,固定次数
重复匹配
表达式:id=\\d+数据:#¥%id=321&输出:id=321
包含限制引导
表达式:id=(\\d+)数据:#¥%id=321&输出:321
不包含限制引导
数据:<123>312>贪婪:<.*>—123>312不贪婪:<.*?>—123
贪婪和不贪婪匹配的区别(?)
向前向后匹配
处理方法:取消操作界面【只找第一个匹配项】
如:匹配12k-18k里的所有数字
适配多个匹配项
特殊意义转变为本身意义
\\. \\* \\[ \\] \\\\
转义字符
^\\d必须为开头的数字
^:匹配字符串的开头
\\d$必须为结尾的数字
$:匹配字符串的结尾
\\b:截取出来的独立字符串
字符的边界
匹配除了括号里的任意字符
[^aeiou]
排除字符
((ab){2})
子表达式
((http|https):.*)
或
匹配任意空白符
\\s
制表符,即首行缩进
\\t
换行符
\
\\W:匹配任意不是汉字、数字、下划线、字母的字符
\\S:匹配任意不是空白符的字符
\\D:匹配任意非数字的字符
\\B:匹配不是单词开头或结束的位置
反义元字符
扩展情况
字符
正则表达式
影刀产品使用
0 条评论
回复 删除
下一页