What is the difference between isDisplayed()
and isVisible()
methods in Selenium? Both are used to identify whether web element is or is not hidden in web page.
The isDisplayed () method is used to check whether an element is displayed on a web page or not. It returns a boolean value (true) if the target element is displayed otherwise returns false. The syntax for isDisplayed () method in Selenium is as follows: driver.findElement (By.locatorType ("path")).isDisplayed ();
Before webdriver we had Selenium RC, which is now long deprecated, the DefaultSelenium class had isVisible () method that: Determines if the specified element is visible.
If you use Selenium WebDriver, you are probably aware that there are a number of common ways to loop through and interact with elements on a web page. Among them isDisplayed (), isEnabled (), and isSelected () methods. When a tester needs to ascertain the visibility scope of a web element, they can use these methods.
isDisplayed (): Verifies whether this element displayed or not? isEnabled () : Is the element currently enabled or not ? this will generally return true for everything but for disabled input elements returns false.
Short answer is that isVisible
is method of old Selenium RC
and isDisplayed
is method of Selenium 2.
If you are talking about WebDrivers
WebElement
, it contains only isDisplayed()
method, which by the doc:
Is this element displayed or not? This method avoids the problem of having to parse an element's "style" attribute.
Before webdriver we had Selenium RC, which is now long deprecated, the DefaultSelenium
class had isVisible()
method that:
Determines if the specified element is visible. An element can be rendered invisible by setting the CSS "visibility" property to "hidden", or the "display" property to "none", either for the element itself or one if its ancestors. This method will fail if the element is not present.
reference
As explained in this post How does Selenium WebDriver's isDisplayed() method work
WebDriver has its own W3C specification. and the section about determining visibility can give you more information from the spec.
Selenium RC - isVisible() - looks for display: none style tag - this might throw a null pointer if we aren't careful...thus to see if an element is visible first check if the element is present using isElementPresent() method. Then try checking if the element is visible! Refer Difference between isElementPresent and isVisible in Selenium RC
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With