如何在Android UI上单击一个元素,该元素在python脚本中没有资源ID或任何名称

时间:2015-03-16 13:17:13

标签: android python selenium automation appium

My app UI by UI automatorviewer

enter image description here

嗨,我在python中编写脚本并使用Appium服务器作为后端。我正在为Android应用程序UI编写脚本。 在UI automatorviewer的屏幕截图中,您可以在应用程序UI中看到几个元素,即书籍,食物,水,旅行等。所有元素都是可点击的元素。我想点击第二个元素,即' Food'所有细节都在右侧,即索引,类和包。它没有任何资源ID或任何名称。任何人都可以告诉我如何点击“食物”#39;元件。所有都有diff-diff索引号。

2 个答案:

答案 0 :(得分:1)

使用此:

driver.findElementByXPath("//*[@class='android.widget.RelativeLayout' and @index='1']").Click();

答案 1 :(得分:0)

试试这段代码:

WebElement frameLayout = driver.findElement(By.className("android.widget.FrameLayout"));
List<WebElement> obj = frameLayout.findElements(By.className("android.widget.RelativeLayout"));

boolean blnflag = false;

int i = 0;

while (!blnflag) {
    if (obj.get(i).getText().equalsIgnoreCase("Food")) {
        obj.get(i).click();
        blnflag = true;
    }   
    i++;
}