【发布时间】:2019-12-08 21:47:08
【问题描述】:
无法找到子元素。 嘿 , 我正在使用 Appium 编写 Android 应用自动化。 我有一个测试,我需要检查某个地方的三个按钮是否包含正确的文本。
我正在尝试使用 for 循环获取三个按钮。
在这里你可以看到我给 UiAutomatorViewer 带来的元素。
这是我找到的主要元素。
[![在此处输入图片描述][1]][1]
有我试图找到的子元素:
[![在此处输入图片描述][2]][2]
[![在此处输入图片描述][3]][3]
[![在此处输入图片描述][4]][4]
我尝试了一些代码,但出现错误提示:
org.openqa.selenium.NoSuchElementException: An element could not be
located on the page using the given search parameters.
*** Element info: {Using=xpath,
value=android.widget.TextView[@index='1']}
根据元素信息,我得到了每个元素的正确 xpath。
我做错了什么?
List<MobileElement> buttons =
driver.findElements(By.xpath("//android.view.ViewGroup[@bounds='[170,946][910,1689]']"));
for (int i = 1; i < buttons.size(); i++) {
MobileElement button = (MobileElement) driver.findElement(By.xpath("android.widget.TextView[@index='"+i+"']"));
System.out.println(button.getText());
}
[1]: https://i.stack.imgur.com/qhpBr.png
[2]: https://i.stack.imgur.com/8owI4.png
[3]: https://i.stack.imgur.com/SFaQb.png
[4]: https://i.stack.imgur.com/QxpPw.png
【问题讨论】:
-
猜你在寻找 MobileElement 按钮时错过了 xpath 中的
//。"//android.widget.TextView[@index='"+i+"']" -
嗨 Prerna,我添加了 // 符号,但它仍然无法正常工作=[
MobileElement button = (MobileElement) driver.findElement(By.xpath("./android.widget.TextView[@index='"+i+"']")); -
您能再添加一下 HTML 吗?我不再在问题中看到它了..让我尝试找出可能存在的其他问题..
标签: android arrays automation appium