All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.fluentlenium.core.inject.ElementLocatorSearchContext Maven / Gradle / Ivy

package org.fluentlenium.core.inject;

import org.openqa.selenium.By;
import org.openqa.selenium.SearchContext;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.support.pagefactory.ElementLocator;

import java.util.ArrayList;
import java.util.List;

/**
 * Search context backed by an ElementLocator.
 */
public class ElementLocatorSearchContext implements SearchContext {
    private final ElementLocator locator;

    /**
     * Creates a new element locator search context.
     *
     * @param locator element locator
     */
    public ElementLocatorSearchContext(ElementLocator locator) {
        this.locator = locator;
    }

    @Override
    public List findElements(By by) {
        List elements = new ArrayList<>();

        List baseElements = locator.findElements();

        for (WebElement element : baseElements) {
            elements.addAll(element.findElements(by));
        }

        return elements;
    }

    @Override
    public WebElement findElement(By by) {
        return locator.findElement().findElement(by);
    }
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy