在可见时返回WebElement

时间:2016-08-25 18:26:37

标签: java selenium

我得到WebElement的列表,其中只有一个元素可见。我使用此方法返回该元素:

public WebElement getVisibleElement(List<WebElement> elements){
    for(WebElement element : elements){
        if(element.isDisplayed())
            return element;
    }
}

还有其他方法可以达到这个目的吗?

修改

这是使用的xpath和它返回的元素。

enter image description here

1 个答案:

答案 0 :(得分:0)

您可以使用带索引的唯一findElement定位符,在findElements而不是xpath使用此处: -

//Assuming first element from list is visible 
String indexOfVisbleElement = "1";
String xpath = "(.//table//td[@class = 'button' and b = 'Refresh'])[" +indexOfVisbleElement+ "]";

//Now find only visible element 
WebElement visibleEl = driver.findElement(By.xpath(xpath));