package com.algocrafts.selenium;
import org.openqa.selenium.By;
import org.openqa.selenium.SearchContext;
import org.openqa.selenium.WebElement;
import org.slf4j.Logger;
import static org.slf4j.LoggerFactory.getLogger;
public class ElementFinder implements Locator<SearchContext, Element> {
public static final Logger logger = getLogger(ElementFinder.class);
private final By by;
public ElementFinder(By by) {
this.by = by;
}
@Override
public Element locate(SearchContext t) {
logger.info("Seeking [{}]", by);
WebElement element = by.findElement(t);
logger.info("Found [{}]", element);
Element element1 = element instanceof Element ? (Element) element : new Element(element);
element1.setBy(by);
element1.setBrowser(t);
return element1;
}
}