org.openqa.selenium.By#findElements ( )源码实例Demo

下面列出了org.openqa.selenium.By#findElements ( ) 实例代码,或者点击链接到github查看源代码,也可以在右侧发表评论。

源代码1 项目: xframium-java   文件: ByCollection.java
@Override
public List<WebElement> findElements( SearchContext context )
{
    List<WebElement> elems = new ArrayList<>();
    for ( By by : bys )
    {
        List<WebElement> elementList = by.findElements( context );
        resultList.addAll( ( (ReportableBy) by ).getResults() );
        if ( elementList != null && !elementList.isEmpty())
        {
            elems.addAll( by.findElements( context ) );
            return elems;
        }
    }

    return elems;
}
 
/**
 * Converts By to Function returning first result (or null).
 * @param by by to convert.
 * @return function returning first result of by.
 */
public static <T extends WebElement> Function<SearchContext, T> byToFunction(By by) {
    Function<SearchContext, T> function;
    if (by instanceof SingleElementOrNullBy) {
        // will not throw exception, but return null when no element is found
        function = sc -> (T) by.findElement(sc);
    } else {
        function = sc -> {
            // single element case will throw exception when no element is found
            List elements = by.findElements(sc);
            return (elements != null && !elements.isEmpty())? (T) elements.get(0) : null;
        };
    }
    return function;
}
 
源代码3 项目: selenium   文件: RemoteWebDriver.java
@Override
public List<WebElement> findElements(By locator) {
  if (locator instanceof By.StandardLocator) {
    return ((By.StandardLocator) locator).findElements(this, this::findElements);
  } else {
    return locator.findElements(this);
  }
}
 
源代码4 项目: selenium   文件: RemoteWebElement.java
@Override
public List<WebElement> findElements(By locator) {
  if (locator instanceof By.StandardLocator) {
    return ((By.StandardLocator) locator).findElements(this, this::findElements);
  } else {
    return locator.findElements(this);
  }
}
 
源代码5 项目: JTAF-ExtWebDriver   文件: Element.java
@Override
public List<WebElement> findElements(SearchContext context) {
    for (By by : bys) {
        try {
            final List<WebElement> element = by.findElements(context);
            if (element != null && element.size() > 0) {
                return element;
            }
        } catch (Exception e) {
            // ignored
        }
    }
    return null;
}