17

How to get selected option using Selenium WebDriver with Python:

Someone have a solution for a getFirstSelectedOption?

I'm using this to get the select element:

try:
    FCSelect = driver.find_element_by_id('FCenter')
    self.TestEventLog = self.TestEventLog + "<br>Verify Form Elements: F Center Select found"
except NoSuchElementException:
    self.TestEventLog = self.TestEventLog + "<br>Error: Select FCenter element not found"

Is there an equivalent or something close to 'getFirstSelectedOption' like this:

try:
    FCenterSelectedOption = FCenterSelect.getFirstSelectedOption()
    self.TestEventLog = self.TestEventLog + "<br>Verify Form Elements: F Center Selected (First) found"
except NoSuchElementException:
    self.TestEventLog = self.TestEventLog + "<br>Error: Selected Option element not found"

Then I would like to Verify the Contents with a getText like:

try:
    FCenterSelectedOptionText = FCenterSelectedOption.getText()
    self.TestEventLog = self.TestEventLog + "<br>Verify Form Elements: FCenter Selected Option Text found"
except NoSuchElementException:
    self.TestEventLog = self.TestEventLog + "<br>Error: Selected Option Text element not found"

if FCenterSelectedOptionText == 'F Center Option Text Here':
    self.TestEventLog = self.TestEventLog + "<br>Verify Form Elements: F Center Selected Option Text found"
else:
    self.TestEventLog = self.TestEventLog + "<br>Error: F Center 'Selected' Option Text not found"

1 Answer 1

51

This is something that selenium makes it easy to deal with - the Select class:

from selenium.webdriver.support.select import Select

select = Select(driver.find_element_by_id('FCenter'))
selected_option = select.first_selected_option
print selected_option.text
Sign up to request clarification or add additional context in comments.

1 Comment

I'm getting the error: "if webelement.tag_name.lower() != "select": AttributeError: 'list' object has no attribute 'tag_name'"

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.