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

Selenium Java无法使用xpath定位元素

倪鸿禧
2023-03-14

下面是selenium找不到元素的代码。

By machineUIList = By.xpath("//div[@class='thmbinnerdiv']");
        Thread.sleep(5000);

        ArrayList<String> machineUITextList = objUtilities.getElementsTextList(machineUIList);
        Thread.sleep(5000);
        System.out.println(machineUITextList);

但不知何故,它失败了,对我不起作用。它总是给我以下例外情况:过时的元素引用:元素未附加到页面文档

添加了--GetElementStextList的代码

public ArrayList<String> getElementsTextList(By locator) {
        ArrayList<String> eleTextList = new ArrayList<String>();
        List<WebElement> eleList = waitForVisibilityOfElements(locator, 30);
        for (WebElement e : eleList) {
            if (!e.getText().isEmpty()) {
                eleTextList.add(e.getText());
            }
        }
        return eleTextList;
    }

感谢任何帮助。谢谢

共有1个答案

端木令
2023-03-14

请尝试使用以下代码:

List<WebElement> machineNames = driver.findElements(by.xpath("//div[@class='thmbinnerdiv']"));
for(WebElement machine : machineNames){
 System.out.println(machine.getText());
}
 类似资料:
  • 嗨,我是一个相当新的硒。可以有人请建议如何定位和元素在iframe asi是得到错误下面。 带有Iframe标记的DOM按钮元素的屏幕截图 以前编写的代码

  • 我试图引用并单击网页上的元素。 我们应该能够使用简单的XPath进行引用。例如 然而,这似乎并不奏效。 我使用的chrome扩展表示该元素不存在。 我的代码找不到元素。 下面是我使用Selenium web驱动程序的Java代码。 以下是错误: 太奇怪了!关于为什么我不能引用元素,或者为什么xPath不exist的任何想法。

  • 这就是我得到的错误

  • 你知道为什么吗?

  • 我的AUT有不同的选项卡来测试和验证不同的WebElements,这些选项卡上有几乎相同的属性。我需要验证一个下拉搜索框,并验证下拉列表中的选项。我的脚本找不到这个下拉搜索框,而xpath在firebug中工作得非常好,可以识别搜索框。 显示的错误为: 请告诉我什么可能是错误的,以及为什么Selenium不能使用xpath定位元素,而它在xpath中运行良好。另外,如果我的xpath不正确,请告诉