Last modified: Oct 27, 2024 By Alexander Williams

Python Selenium select_by_visible_text(): A Complete Guide

The select_by_visible_text() method in Python Selenium allows you to select options from a drop-down menu based on the text visible to the user.

What is select_by_visible_text()?

The select_by_visible_text() function helps select an option in a <select> element by matching the text of the option displayed to the user.

Why Use select_by_visible_text() in Selenium?

Using select_by_visible_text() is ideal when you know the exact text of the option you want to select. It simplifies interactions with readable drop-down options.

How to Use select_by_visible_text()

To use this method, create a Select object from the drop-down element and call select_by_visible_text() with the text of the desired option.


from selenium import webdriver
from selenium.webdriver.support.ui import Select

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

# Locate the drop-down element
dropdown = Select(driver.find_element_by_id('mySelect'))

# Select option by visible text
dropdown.select_by_visible_text('Option 1')

driver.quit()

When to Use select_by_visible_text()

Use select_by_visible_text() when you want to select an option by its exact text. It’s especially useful for user-friendly drop-down menus with descriptive text.

If you need to select options based on their position instead, refer to Python Selenium select_by_index(): A Complete Guide.

Example: Selecting a Drop-down Option by Text

Here’s an example demonstrating how to use select_by_visible_text() to select a specific option in a drop-down:


from selenium import webdriver
from selenium.webdriver.support.ui import Select

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

# Initialize the Select class
dropdown = Select(driver.find_element_by_name('cities'))

# Select the option by visible text
dropdown.select_by_visible_text('New York')

driver.quit()

Differences Between select_by_visible_text() and select_by_value()

While select_by_visible_text() targets the text displayed, select_by_value() focuses on selecting options based on their value attribute.

If you need to automate drag-and-drop actions, see Python Selenium drag_and_drop() for more advanced interactions.

Related Methods in Python Selenium

Other related methods include Python Selenium move_to_element() for navigating to elements before interacting with them.

Conclusion

The select_by_visible_text() method in Python Selenium is a straightforward way to select options in drop-down menus using readable text, making automation scripts more user-friendly.

For more details, visit the official Selenium documentation.