Skip to main content

Selenium WebElement Interface

WebElement is an Interface which extends SearchContext and TakesScreenshot Interface

public interface WebElement extends SearchContext, TakesScreenshot

In below flowchart interface is represented as Parallelogram, class is represented with rectangle. Yellow arrow we are using for implements and black directional connecter for extends.

Selenium WebElement Interface

You can see WebElement is extending 2 interface, SearchContext and TakesScreenshot. If you recall from previous tutorial WebDriver was also extending SearchContext Interface but here we have one additional interface TakesScreenshot.

There is a class called RemoteWebElement which implements interface WebElement.

WebElement represents an HTML element. Generally, all interesting operations to do with interacting with a page will be performed through this interface. All the frequently used methods like clear(), click(), findElement, findElements(), sendKeys, getText() and many others are associated with this interface. You can view the complete list of methods here.

WebElement Method List

clear() getAriaRole() getLocation() isDisplayed()
click() getAttribute​() getRect() isEnabled()
findElement​(By by) getCssValue​() getSize() isSelected()
findElements​(By by) getDomAttribute​() getTagName() sendKeys​()
getAccessibleName() getDomProperty​() getText() submit()

All method calls will do a freshness check to ensure that the element reference is still valid. This essentially determines whether or not the element is still attached to the DOM. If an element is not attached to the DOM, then a StaleElementReferenceException is thrown, and all future calls to this instance will fail.

Below is the example use case:

WebElement elementName = driver.findElement(By.LocatorStrategy("LocatorValue"));

You must have used this while automating using Selenium, You can see we are using WebElement interface here and its method findElement. We will discuss in more detail about this statement in upcoming lecture.

Submitted by tgoswami on August 13, 2021

Tarun has 11+ years of experience in Quality Assurance in different domains like Banking, E-commerce, Health and Education.

About

At ProgramsBuzz, you can learn, share and grow with millions of techie around the world from different domain like Data Science, Software Development, QA and Digital Marketing. You can ask doubt and get the answer for your queries from our experts.