1.使用xpath进行定位(其中android.widget.TextView相当于Android组件的class元素)
driver.find_element_by_xpath("//android.widget.TextView[contains(@text,'xxx')]")
2.使用xpath定位根据侄子元素定位叔父元素(即先定位到元素A,然后根据A定位到他父元素的同级元素):
driver.find_element_by_xpath("//android.widget.TextView[@text=\"文档\"]/following::android.widget.Button[@text=\"下载\"]")
3.使用driver.find_element_by_android_uiautomator进行定位时一大坑,就是UiSelector里面的字符串不能使用''(python支持,但是uiautomator时java的不支持)
解决办法:字符串全部使用\"\"(双引号加转译)
4.使用Android的uiautomation定位实例
使用文本信息定位:
driver.find_element_by_android_uiautomator("new UiSelector().text(\"所有应用\")")
根据先定位到的元素的父元素定位子元素(实际定位时先定位到某个元素,然后根据该元素的父级定位待该元素的同级元素):
driver.find_element_by_android_uiautomator("new UiSelector().text(\""+AppName+"\").fromParent(new UiSelector().className(\"android.widget.ProgressBar\"))"