码迷,mamicode.com
首页 > 编程语言 > 详细

uiautomator2+python 子元素遍历

时间:2020-12-17 13:05:13      阅读:4      评论:0      收藏:0      [点我收藏+]

标签:div   user   ng-click   bounds   int   list   tree   循环   pytho   

百度多次未找到遍历一个uiautomator2中子元素的方法,通过自己查看实现代码,找到了方法,分享出来供大家参考。

 

当你获取了页面某个元素之后 elements = d(‘//*[@clickable="true"]‘).all()

返回的是一个list,其中是<uiautomator2.xpath.XMLElement>类型的变量。

可以通过以下方式获取它所有子类的信息。

for ele in elements:
    children = ele.elem.getchildren()

注意,其中的ele.elem是<lxml.etree._Element>类型的变量。

这种变量才能获取到对应控件元素的属性,比如text、resourceID等等。方法是 ele.elem.get("text"),其中的key可以通过 ele.elem.keys()查看,如下

[‘index‘, ‘text‘, ‘resource-id‘, ‘package‘, ‘content-desc‘, ‘checkable‘, ‘checked‘, ‘clickable‘, ‘enabled‘, ‘focusable‘, ‘focused‘, ‘scrollable‘, ‘long-clickable‘, ‘password‘, ‘selected‘, ‘visible-to-user‘, ‘bounds‘]

【总结】

综上,你若想遍历某个元素的所有子元素

for ele in elements:
    children = ele.elem.getchildren()
        for child in children:
            print(child.get("text")
            grandchildren = child.getchildren() # 注意和 ele.elem.children的区别
            ....#后续可以自行写递归函数循环

 

uiautomator2+python 子元素遍历

标签:div   user   ng-click   bounds   int   list   tree   循环   pytho   

原文地址:https://www.cnblogs.com/NewsunLs/p/14125943.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!