一、findElementByName
WebElement el = driver.findElementByName("排行榜");
尝试先用view显示的文本作为name看是否能获取到该控件,比如上面实例中的"排行榜"其实是textview的text,当做name是可以获取到的。
如果不行的话,就放弃用name。
二、findElementsByClassName
ListtextFieldsList = driver.findElementsByClassName("android.widget.TextView");textFieldsList.get(3).click();使用ClassName一般获得的view都不一止一个,所以应该需要遍历一遍得到的views,然后通过index获得目标控件。三、findElementByIdById在android上是控件的resource idWebElement el = driver.findElementById("search");四、findElementByAccessibilityID
ByAccessibilityID在android上等同于控件的content-desc
el3 = driver.findElementByAccessibilityId("转到上一层级");五、findElementByXpath
WebElement el = driver.findElementByXPath("//android.widget.TextView[contains(@text,'新品榜')]");
六、定位元素遇到的问题
未设置等待时间,未找到元素前就执行操作,导致报错,解决办法:
线程休眠
try { Thread.sleep(6000); } catch (InterruptedException e) { e.printStackTrace(); }
参考文章:http://www.cnblogs.com/alwayswyy/p/4988545.html http://doc.okbase.net/zhubaitian/archive/103376.html