Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/selenium/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 无法获取';指数';按getAttribute列出的节点详细信息_Java_Selenium_Appium - Fatal编程技术网

Java 无法获取';指数';按getAttribute列出的节点详细信息

Java 无法获取';指数';按getAttribute列出的节点详细信息,java,selenium,appium,Java,Selenium,Appium,我是Appium automation的新手,我试图在代码中使用.getAttribute检索“索引”节点值,但无法检索。 是否有任何方法可以检索特定元素定位器的索引 String x = driver.findElement(By.xpath("//android.widget.TextView[@text='"+str+"']/../..")).getAttribute("index"); 要从节点提取索引属性,可以编写函数(),如下所示: public void viewIndex(St

我是Appium automation的新手,我试图在代码中使用.getAttribute检索“索引”节点值,但无法检索。 是否有任何方法可以检索特定元素定位器的索引

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

要从节点提取索引属性,可以编写
函数()
,如下所示:

public void viewIndex(String str)
{
    String x = driver.findElement(By.xpath("//android.widget.TextView[.='" + str + "']")).getAttribute("index");
}
viewIndex("India Gate");
现在,从您的
main()
@Test
注释类调用函数
viewIndex()
,使用预期的
text
,如下所示:

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

您不能使用
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
    }
}
By mySelector=By.xpath(“//android.widget.TextView”);
List myElements=driver.findElements(mySelector);
整数计数=0;
for(WebElement e:myElements){
计数++;
if(e.getText().equals(str1)){
System.out.println(count);//这将给出索引值
}
否则{
//做点别的
}
}

您能将代码粘贴到这里吗?欢迎使用堆栈溢出!请看一下,仔细阅读,特别是我们无法帮助您处理无法看到的代码。字符串x=driver.findElement(By.xpath(“//android.widget.TextView[@text=”+str+“]/../)).getAttribute(“index”);你能用相关的HTML更新这个问题吗?我没有HTML,但我已经上传了Android设备监视器中显示的元素的层次结构
它不起作用
没有说明发生了什么错误。使用当前代码试用和错误跟踪日志更新问题。