如何在原生Android和Java中查找嵌套元素

时间:2019-08-09 09:13:18

标签: java android selenium

我正在本机android中努力寻找以下嵌套元素,并想知道如何最好地检索它们:

enter image description here

我的代码找不到元素:

@FindBy(xpath = "//*[@id='password_complexity_layout']//*[@id='textView']")
public WebElement textView1;

@FindBy(xpath = "//*[@id='password_complexity_layout']//*[@id='textView2']")
public WebElement textView2;

2 个答案:

答案 0 :(得分:0)

使用下面的代码查找所有视图。

LinearLayout ll = …
final int childCount = ll.getChildCount();
for (int i = 0; i < childCount; i++) {
      View v = ll.getChildAt(i);
      // Do something with v.
      // …
}

答案 1 :(得分:0)

您似乎很近。您可以尝试以下 xpath 解决方案:

@FindBy(xpath = "//android.widget.LinearLayout[contains(@resource-id, 'password_complexity_layout')]//android.widget.TextView[contains(@id, 'textView')]")
public WebElement textView1;

@FindBy(xpath = "//android.widget.LinearLayout[contains(@resource-id, 'password_complexity_layout')]//android.widget.TextView[contains(@id, 'textView2')]")
public WebElement textView2;