Appium 元素定位

  1. 直接文本定位。
driver.findElementByAndroidUIAutomator("new UiSelector().text(\"Add note\")");
  1. 通过 id 定位。
driver.findElementById("com.smzdm.client.android:id/action_share");
  1. 通过 xpath 定位。
driver.findElementByXPath("//android.widget.TextView[contains(@text,'is xpathname')]");
  1. 通过 content-desc 定位。
driver.findElementByAndroidUIAutomator("new UiSelector().descriptionContains(\"" + name + "\")");
  1. 组合定位。
driver.findElement(By.className(className)).findElements(By.tagName("tagname is me")).get(i);

driver.findElement(By.className(className)).findElements(By.id("id is me")).get(i);

driver.findElement(By.className(className)).findElements(By.name("name is me")).get(i);
  1. List 遍历判断。
List<WebElement> textFieldsList = driver
  .findElementsByClassName("android.widget.EditText");
for(int i = 0; i < textFieldsList.size(); i++) {
		if(textFieldsList.get(i).equals("value")){
				textFieldsList.get(i).click();
		}
}

来源

元素定位