通过位置规律拾取数据
以官网 UEBA Demo 中“用户管理”界面为例, 获取界面中的数据。
获取代码方式:
1. 设置功能模块
2. 获取的文本位置后,点击运行此组件
3. 点击定位代码
4. 得到代码
在设计器中,选中获取 "获取文本" 方法,编译并得到获取文本代码,
获取行数据示例:
代码区别对比:
# 横行数据, 分别为第一行第一个和第三个数据
def get_data_line():
iie.get_text(title=r'用户管理',selector=r'#boxTable > TBODY:nth-of-type(1) > TR:nth-of-type(2) > TD:nth-of-type(2)',waitfor=10)
iie.get_text(title=r'用户管理',selector=r'#boxTable > TBODY:nth-of-type(1) > TR:nth-of-type(2) > TD:nth-of-type(4)',waitfor=10)
get_all_line() 运行结果
运行开始
Main.py- "StepNodeTag:15222350468",Note:
iie.py-IE获取文本:[用户管理][#boxTable > TBODY:nth-of-type(1) > TR:nth-of-type(2) > TD:nth-of-type(2)]
iie.py-IE获取文本:zhouli123
iie.py-IE获取文本:[用户管理][#boxTable > TBODY:nth-of-type(1) > TR:nth-of-type(2) > TD:nth-of-type(4)]
iie.py-IE获取文本:demouser
运行结束
获取前两列首个数据
# 纵行数据,第一行第一个数据和第二行第一个数据
def get_data_col():
iie.get_text(title=r'用户管理',selector=r'#boxTable > TBODY:nth-of-type(1) > TR:nth-of-type(2) > TD:nth-of-type(2)',waitfor=10)
iie.get_text(title=r'用户管理',selector=r'#boxTable > TBODY:nth-of-type(1) > TR:nth-of-type(3) > TD:nth-of-type(2)',waitfor=10)
get_data_col() 得到的结果
运行开始
Main.py- "StepNodeTag:15222350468",Note:
iie.py-IE获取文本:[用户管理][#boxTable > TBODY:nth-of-type(1) > TR:nth-of-type(2) > TD:nth-of-type(2)]
iie.py-IE获取文本:zhouli123
iie.py-IE获取文本:[用户管理][#boxTable > TBODY:nth-of-type(1) > TR:nth-of-type(3) > TD:nth-of-type(2)]
iie.py-IE获取文本:cmbtest
C:\iS-RPA\studio-v6>
运行结束
获取所有数据:
# 得到整个表格数据
def get_data_all():
for x in range(2, 17):
for y in range(2, 7):
iie.get_text(title=r'用户管理',selector=r'#boxTable > TBODY:nth-of-type(1) > TR:nth-of-type({0}) > TD:nth-of-type({1})'.format(x, y),waitfor=10)
get_data_all() 运行得到的部分结果:
运行开始
Main.py- "StepNodeTag:15222350468",Note:
iie.py-IE获取文本:[用户管理][#boxTable > TBODY:nth-of-type(1) > TR:nth-of-type(2) > TD:nth-of-type(2)]
iie.py-IE获取文本:zhouli123
iie.py-IE获取文本:[用户管理][#boxTable > TBODY:nth-of-type(1) > TR:nth-of-type(2) > TD:nth-of-type(3)]
iie.py-IE获取文本:
iie.py-IE获取文本:[用户管理][#boxTable > TBODY:nth-of-type(1) > TR:nth-of-type(2) > TD:nth-of-type(4)]
iie.py-IE获取文本:demouser
iie.py-IE获取文本:[用户管理][#boxTable > TBODY:nth-of-type(1) > TR:nth-of-type(2) > TD:nth-of-type(5)]
iie.py-IE获取文本:2018-07-25 15:08:09
iie.py-IE获取文本:[用户管理][#boxTable > TBODY:nth-of-type(1) > TR:nth-of-type(2) > TD:nth-of-type(6)]
iie.py-IE获取文本:2018-07-27 09:06:39
iie.py-IE获取文本:[用户管理][#boxTable > TBODY:nth-of-type(1) > TR:nth-of-type(3) > TD:nth-of-type(2)]
iie.py-IE获取文本:cmbtest
iie.py-IE获取文本:[用户管理][#boxTable > TBODY:nth-of-type(1) > TR:nth-of-type(3) > TD:nth-of-type(3)]
iie.py-IE获取文本:
iie.py-IE获取文本:[用户管理][#boxTable > TBODY:nth-of-type(1) > TR:nth-of-type(3) > TD:nth-of-type(4)]
iie.py-IE获取文本:系统默认
......
通过这种方式在无法获取整个表格数据文本或者得到部分数据的情况时使用,效果明显。