- 直接文本定位。
driver.findElementByAndroidUIAutomator("new UiSelector().text(\"Add note\")");
- 通过 id 定位。
driver.findElementById("com.smzdm.client.android:id/action_share");
- 通过 xpath 定位。
driver.findElementByXPath("//android.widget.TextView[contains(@text,'is xpathname')]");
- 通过 content-desc 定位。
driver.findElementByAndroidUIAutomator("new UiSelector().descriptionContains(\"" + name + "\")");
- 组合定位。
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);
- 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();
}
}
来源
元素定位