Last modified: Oct 25, 2024 By Alexander Williams

Python Selenium: is_displayed() Method

The is_displayed() method in Python Selenium checks if a web element is visible on the page. It’s crucial for verifying elements before interactions.

What is the is_displayed() Method?

The is_displayed() method returns True if the element is visible and False if it is not. It’s a simple way to verify an element’s visibility status.

It is especially useful in situations where you want to ensure an element is displayed before clicking or interacting with it.

Why Use the is_displayed() Method?

Using is_displayed() ensures that the element is visible before performing actions like clicks or form submissions, preventing errors in automation scripts.

If an element isn’t displayed, you might want to refresh the page using the refresh() Method or navigate to a different page with back() Method.

How to Use is_displayed() Method

To use is_displayed(), locate the element using methods like find_element() and then call is_displayed(). Here’s an example:


from selenium import webdriver
from selenium.webdriver.common.by import By

driver = webdriver.Chrome()
driver.get("https://example.com")

# Locate the element and check if it is displayed
element = driver.find_element(By.ID, "exampleElement")
is_visible = element.is_displayed()

print(f"Element is visible: {is_visible}")

In this example, the browser opens "https://example.com", finds an element by its ID, and checks its visibility using is_displayed().

When to Use is_displayed()?

Use is_displayed() before interacting with elements like buttons, input fields, or links. It helps ensure that actions only occur when elements are visible.

If you’re dealing with dynamically loaded elements, you may also use is_displayed() along with get() Method to wait for visibility before interacting.

Common Issues with is_displayed()

Sometimes, elements may exist in the DOM but are hidden using CSS. In such cases, is_displayed() returns False. Ensure that the element is not hidden by styles.

If an element is not found, consider using Selenium waits to ensure the page has loaded completely before checking visibility.

Alternatives to is_displayed()

If is_displayed() does not fit your needs, you can use other methods like is_enabled() to check if an element can be interacted with.

To manage the browser window for better visibility, try using the maximize_window() Method for full-page views before checking element visibility.

Conclusion

The is_displayed() method in Python Selenium is essential for verifying the visibility of elements before interaction. It helps ensure that your automation scripts run smoothly.

For more details, refer to the official Selenium documentation.