package com.algocrafts.chapter3.page;
import com.algocrafts.selenium.Browser;
import com.algocrafts.selenium.Element;
import com.algocrafts.selenium.SearchScope;
import org.openqa.selenium.By;
import org.openqa.selenium.WebElement;
import java.util.List;
public class Page implements SearchScope<Page> {
private final Browser<?> browser;
private final String url;
public Page(Page page, String url) {
this(page.browser, url);
}
public Page(Browser<?> browser, String url) {
this.browser = browser;
this.url = url;
}
public final void open() {
browser.get(url);
}
@Override
public List<WebElement> findElements(By by) {
return browser.findElements(by);
}
@Override
public final Element findElement(final By by) {
return browser.findElement(by);
}
@Override
public final void onTimeout() {
browser.save(browser.getTitle());
}
}