【appium之五】元素定位之findElementById

一、根据资源ID定位之资源ID唯一

语法:driver.findElementById("资源ID")

         或  driver.findElement(By.id("资源ID"))

例子:

【appium之五】元素定位之findElementById

如上图所示,获取CSDN账号输入框用:driver.findElementById("net.csdn.csdnplus:id/editTextUserName")

要输入账号则是:driver.findElementById("net.csdn.csdnplus:id/editTextUserName").sendKeys("username");

二、根据资源ID定位之资源ID不唯一

语法:driver.findElementsById("资源ID").get(index)

         或  driver.findElements(By.id("资源ID")).get(index)

例子:

【appium之五】元素定位之findElementById

【appium之五】元素定位之findElementById

根据上面的截图可以看到,最新和前端的resource-id是一样的,区别只有text以及他们的控件RelativeLayout的index不一样,这个时候我们要获取前端并点击切换到前端可以findElementsById.get,如下:

driver.findElementsById("net.csdn.csdnplus:id/tv_skill").get(1)

点击则是:driver.findElementsById("net.csdn.csdnplus:id/tv_skill").get(1).click()

注意,这里的element要加上s