Appium 使用 find_elements_by_android_uiautomator,怎么一次性定位到某一元素的多个子元素?

顾白山 · 2018年08月14日 · 最后由 剪烛 回复于 2018年08月14日 · 2072 次阅读

因为某些原因,希望通过 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: []

共收到 3 条回复 时间 点赞

日志内容被干掉了,直接贴下图片:

不太明白,你的图片里面是个列表吗,还不止一个元素

0.0 这个帖子标题在首页只有 “使用” 两个汉字诶 @seveniruby
safari 11.1

需要 登录 后方可回复, 如果你还没有账号请点击这里 注册