尝试使用硒定位元素列表时,该列表为empy

时间:2019-06-17 20:07:21

标签: selenium-webdriver

我一直试图访问网页Automationpub.com中的一个Web元素,我试图找到一个包含一个元素列表的元素,这些元素都具有我想要的元素,但是我需要仅列表中的第三个元素。我已经尝试过使用css,xpath,className定位符来查找列表,但是列表为空或只有一个元素,但这是不可能的。

Image of the list that I need

我有一个“ HomePage”类,该类具有此Web元素的get方法。

@FindBy(className="panel-group") 
private List<WebElement> list;

public List<WebElement> getList()
{
    return list;
}

然后在主类中调用get方法,但是当我调试代码以查看列表中是否包含17个元素时,我只看到一个空列表或仅包含一个元素的列表

@Test 
public void test(){ 
List<WebElement> x=home.getList();
}

列表应包含17个元素,但实际不包含一个元素或仅包含一个元素。

1 个答案:

答案 0 :(得分:0)

我认为className =“ panel-group”将返回父元素。您可以使用xpath找到子元素: @FindBy(xpath =“ // div [@ class ='panel-group'] / div”) 这应该返回子元素。

有一种方法可以验证您是否使用了正确的xpath。在开发人员工具控制台中,以这种格式输入xpath(以上面的xpath为例),然后按Enter:

$ x(“ // div [@ class ='panel-group'] / div”)

这将给出元素列表。如果xpath错误,您将得到一个空列表。