-
绝对定位:根据严格的父子关系定位
-
相对定位:根据条件匹配定位
-
慢的原因:XPath 定位比其他定位慢,因为需要递归解析每个元素的属性
-
慢的不明显的原因:有 Cache 机制
绝对定位
driver.find_element_by_xpath("/hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.ListView/android.widget.RelativeLayout[1]/android.widget.TextView")
相对定位
-
查找
- //*[@text=‘登录’]
- //*[contains(@resource-id,‘login’)]
-
条件匹配
- //*[contains(@resource-id,‘login’) and contains(@text,‘登录’)]
- //*[contains(@text,‘登录’) or contains(@label,‘登录’)]
-
寻找所有元素 //*