Appium 麻烦问下这个在 appium 怎么定位呀

当里个当 · 2016年08月29日 · 最后由 当里个当 回复于 2016年08月31日 · 1346 次阅读

麻烦问下,LinearLayout 都是一样的,有十几个,每个下面都有一个挑战。。比如说 10 的 LinearLayout,我怎么去定位 10 号 LinearLayout 下面的挑战按钮?
第一次见到这种都是一样的东西,就是 index 不一样。。瞬间懵逼。。也不知道 index 用什么方法定位

共收到 9 条回复 时间 点赞

你看看这样行不行
xpath:(//LinearLayout)[7]/TextView

#1 楼 @xinufo 只能 xpath 吗?别的类似 ID 这样的定位方法呢?

先找出所有的 LinearLayout,然后再找第 10 个的挑战

#3 楼 @nancy2896 遍历?用 for 循环遍历啊。。想过。。感觉好麻烦~~除了 for。有什么更加方便的遍历方法吗?

#4 楼 @lucifer findelementsby。。。

#5 楼 @nancy2896 。。。。。。by 用什么方法遍历?

#2 楼 @lucifer 别的方法估计只能用 findElements 获取到一个 List,然后再在 List 中去取了
例如

List<WebElement> ls = driver.findElements(By.className("your classname"));
WebElement e = ls.get(10);

#8 楼 @xinufo 有个高手告诉了我一个方法,也用上了
new UiSelector().index(10) 定位为 10 的 index
下面是我的用法
dr.find_element_by_android_uiautomator("new UiSelector().index(10)").find_element_by_id("btn_fight").click()
亲测好用,那人说这个是 uiautomator 里面的方法。。。appium 没有,要用 android_uiautomator 来调用~~

当里个当 关闭了讨论 08月31日 11:38
需要 登录 后方可回复, 如果你还没有账号请点击这里 注册