无法通过getAttribute获取'index'节点详细信息

时间:2018-02-16 09:12:42

标签: java selenium appium

enter image description here我是Appium自动化的新手,我试图通过在我的代码中使用.getAttribute来检索'index'节点值,但我无法做到。 有什么方法可以检索特定元素定位器的索引吗?

String x = driver.findElement(By.xpath("//android.widget.TextView[@text='"+str+"']/../..")).getAttribute("index");

2 个答案:

答案 0 :(得分:1)

您无法使用getAttribute()方法检索索引值,而是使用类似计数器的内容来标识文本字段在屏幕上出现的次数。

By mySelector = By.xpath("//android.widget.TextView");
List<WebElement> myElements = driver.findElements(mySelector);
int count = 0;
for(WebElement e : myElements) {

    count++;
    if(e.getText().equals(str1)) {
        System.out.println(count); //This will give the index value
    }
    else{
        //do something else
    }
}

答案 1 :(得分:0)

要从节点中提取索引 属性,您可以按如下方式编写function()

public void viewIndex(String str)
{
    String x = driver.findElement(By.xpath("//android.widget.TextView[.='" + str + "']")).getAttribute("index");
}

现在,在您的main()@Test带注释的类中,使用预期的viewIndex()调用函数text,如下所示:

viewIndex("India Gate");