package com.codeborne.selenide.impl; import org.openqa.selenium.By; import org.openqa.selenium.SearchContext; import org.openqa.selenium.WebElement; import java.util.List; import static com.codeborne.selenide.WebDriverRunner.getWebDriver; public class BySelectorCollection implements WebElementsCollection { private final SearchContext parent; private final By selector; public BySelectorCollection(By selector) { this(null, selector); } public BySelectorCollection(SearchContext parent, By selector) { this.parent = parent; this.selector = selector; } @Override public List<WebElement> getActualElements() { SearchContext searchContext = parent == null ? getWebDriver() : parent; return WebElementSelector.instance.findElements(searchContext, selector); } @Override public String description() { return parent == null ? Describe.selector(selector) : (parent instanceof WebElement) ? Describe.shortly((WebElement) parent) + "/" + Describe.shortly(selector) : Describe.shortly(selector); } }