我将展示如何解决这个问题,但是问题可能出在硒元素不总是根据元素类型正确返回isDisplayed()的问题上。
public WebElement getFirstVisibleElement(List<WebELement> elements) { for (WebElement ele : elements) if (ele.isEnabled() && ele.isDisplayed()) return ele; return null;}检查是否显示Web元素的一种更可靠的方法是检查其尺寸(高度和宽度)。如果它们均为零,则不显示。
public WebElement getFirstVisibleElement(List<WebELement> elements) { for (WebElement ele : elements) if (ele.isEnabled() && ele.getSize().getHeight() > 0 && ele.getSize().getWidth() > 0 ) return ele; return null;}


