Selenium: How to wait for options in a select to be populated?

Viewed 36771

I am using Selenium for the first time and am overwhelmed by the options. I am using the IDE in Firefox.

When my page loads, it subsequently fetches values via an JSONP request, with which it populates options in a select.

How do I get Selenium to wait for a certain option in the select to be present before proceeding?

9 Answers

You can use "WaitForSelectOption" command where your value can be direct label like label=1-saving Account target will have the object id

Try the below code

from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
from selenium.common.exceptions import TimeoutException

try:
    # 10 is the maximum time to wait
    element = WebDriverWait(driver, 10).until(
        EC.presence_of_element_located((By.CSS_SELECTOR, "#mySelectId option[value='valueofOptionYouExpectToBeLoaded']"))
    )
except TimeoutException:
    print("Time out")

#  Write your code
Related