当前位置: 首页 > 知识库问答 >
问题:

无法使用数组列表找到子元素

曾翰飞
2023-03-14

在这里您可以看到我带给UIAutomatorViewer的元素。

这是我发现的主要因素。

[![在此处输入图像说明][1]][1]

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']}
    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

共有1个答案

巢权
2023-03-14

您需要将.添加到XPath表达式以使其正常工作:

MobileElement button = (MobileElement) driver.findElement(By.xpath("./android.widget.TextView[@index='"+i+"']"));

.选择当前节点

参考资料:

    null
 类似资料:
  • 元素的HTML为: 来自Firebug的X路径:

  • 我无法使用XPATH和CSS找到元素

  • 问题内容: 我有一个清单“ a” 我需要找到一个特定数字的所有元组。说1 我怎么做? 问题答案: 如果只希望第一个数字匹配,则可以这样操作: 如果您仅搜索其中包含1的元组:

  • 我是新的Webdriver,我不能让你知道的网站名称和凭据,因为这是一个正在进行的项目,我的公司。我陷入了一个位置,在该网站的一个页面中,有一个通过ajax在运行时生成的表,其中的所有数据也是在运行时生成的,该表中有一个元素,其xpath为,但当我试图使用webdriver查找该元素时,webdriver无法找到该元素,并且我得到一条错误消息,如下所示

  • 我尝试使用Python selenium(新的)做一些自动化。不幸的是,检查特定网页的元素不仅仅是困难的。没有id可以使用,我尝试xpath。我想选择一个下拉列表,我检查这个元素,然后复制xpath,它是//*[@id="frmMain:purchase_criteria_tab"]/div[13]/div[1]/div/按钮 我的代码是: 我不明白这个元素有什么想法吗?提前谢谢你。