uiautomator2+python 子元素遍歷


百度多次未找到遍歷一個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的區別
            ....#后續可以自行寫遞歸函數循環

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM