UIPATH 用户界面探测器元素抓取

以微信作为示例,抓取微信的聊天记录
按我们的正常的思路,一般会用数据抓取功能,直接抓取微信的聊天记录,很遗憾微信并不会让我们如此轻松的获取数据
可以看见当我使用数据抓取,选择某一条消息记录时,它提示我无法自动抓取,不仅如此,连通信录抓取也会出现同样的问题
在这里插入图片描述
办法总比困难多,既然他不让我们用工具自动提取,我们尝试一下手动提取,先打开用户界面探测器,看看微信是个什么鬼东西
在这里插入图片描述
使用用户界面探测器,我选择了聊天框中的最后一条消息【12】,查看探测器左侧的元素树可以看见,每个消息都在一个list item类型的元素当中,而所有的消息都是list元素的子元素
在这里插入图片描述
既然已经找到特征了,我们现在的问题就是如何拿到这个list下的所有list item,并取出这个list item中的name属性(即对应的消息)
第一步,find element找到这个父元素,可以得到一个uielement类型的返回值,这个类型的返回值就是刚刚这个list的位置
在这里插入图片描述
第二步,find children获取这个父元素下的子元素,查看属性里面有四个值得关注的地方
输入的元素我忘记在截图里标注了,这个目标->元素里填入的变量值,就是上一步查找元素里返回的uielement类型的值,因为是查找一个元素的所有子元素,当然要告知程序找的是哪个元素啦
结果输出了一个枚举类型的uielement,姑且就把他当作所有子元素的集合,也就是我们刚刚说到的list item.
然后是filter参数,我们需要过滤哪一个子元素,这里我填入的也就是子元素的xml值,划重点了,我截图的xml值的name属性一栏使用的是通配符*,你如果不用通配符去匹配所有的list item元素,直接使用name = ”12“那么最后的结果肯定只有那一个list item的name = "12"的值,这个还是好理解,我简单提醒一下
然后是Scope属性,也就是我们要提取子元素的哪一级,这里选择的find_children,也就是子元素的第一级
在这里插入图片描述
在这里插入图片描述
第三步,遍历list item获取name属性值,虽然他是个枚举类型,但是依然支持foreach遍历,那么我们的遍历list item这一步就可以实现了,值得注意的是foreach当中要把item的值设置为uielement类型的,不然下一步会有点问题
在这里插入图片描述
最后一步,get attribute获取属性名为"name"的值,即具体的消息,上一步我们把item的值设置成为了uielement,这一步才能在目标->元素当中填入item元素的位置,最后返回的结果就是我们要的聊天记录
在这里插入图片描述
输出结果:
在这里插入图片描述
也可以按这个步骤,抓取微信的所有联系人,嗯,有问题再讨论

  • 2
    点赞
  • 26
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值