</>

Technology

Selenium

Difficulty

Intermediate

Interview Question

What is the super interface of WebDriver in Selenium?

SearchContext is the super interface (parent interface) of WebDriver in Selenium. It declares the findElement() and findElements() methods.

Answer

Super Interface of WebDriver

SearchContext is the parent (super) interface of WebDriver in the Selenium interface hierarchy.

Selenium interface hierarchy:

CODE
SearchContext  ← Super interface
    └── WebDriver  ← Extends SearchContext
            ├── ChromeDriver
            ├── FirefoxDriver
            ├── EdgeDriver
            ├── RemoteWebDriver
            └── ...

SearchContext declares:

Java
public interface SearchContext {
    // Find a single element
    WebElement findElement(By by);

    // Find multiple elements
    List<WebElement> findElements(By by);
}

WebDriver extends SearchContext:

Java
public interface WebDriver extends SearchContext {
    void get(String url);
    String getTitle();
    String getCurrentUrl();
    String getPageSource();
    void close();
    void quit();
    Set<String> getWindowHandles();
    String getWindowHandle();
    Options manage();
    Navigation navigate();
    TargetLocator switchTo();
    // ... plus findElement() and findElements() inherited from SearchContext
}

Why SearchContext? SearchContext is also implemented by WebElement — this allows element-scoped searches:

Java
// Searching from the document root (WebDriver implements SearchContext)
driver.findElement(By.id("container"));

// Searching within a specific element (WebElement also implements SearchContext)
WebElement container = driver.findElement(By.id("container"));
WebElement button = container.findElement(By.tagName("button")); // Scoped search!

Full hierarchy:

Java
SearchContext
  ├── WebDriver (browser-level search)
  │     ├── ChromeDriver
  │     ├── FirefoxDriver
  │     └── RemoteWebDriver
  └── WebElement (element-level search)
        ├── RemoteWebElement
        └── ...

Key answer: The super interface of WebDriver is SearchContext. It defines findElement() and findElements() methods that are inherited by both WebDriver (for page-level searches) and WebElement (for element-scoped searches).

Follow AutomateQA

Related Topics