因为某些原因,希望通过 find_elements_by_android_uiautomator 方法,一次性定位到某一元素的多个子元素。
通过方法 1,分两次获取,可以简单实现该目标。
使用方法 2,一次性定位,始终无法达到想要的效果。使用 childSelector 后,只能获取到该元素下的一个子元素,而不是多个,具体见日志。
请社区牛人们指点一下,谢谢!

【代码】

# 获取某个元素下的多个子元素
# 方法 1:分两次获取,成功获取元素下的多个子元素
parent = driver.find_element_by_android_uiautomator('resourceId("com..:id/rg_classify")')
childs = parent.find_elements_by_android_uiautomator('className("android.widget.RadioButton")')
print('parent: ', parent)
print('childs: ', childs)
# 方法 2:希望能够一次性获取元素下的多个子元素
elements = driver.find_elements(MobileBy.ANDROID_UIAUTOMATOR, 'resourceId("com..:id/rg_classify").childSelector(className("android.widget.RadioButton"))')
print('elements: ', elements)

【日志】

parent:
childs: [, , , , , , , , , ]
elements: []


↙↙↙阅读原文可查看相关链接,并与作者交流