Веб-сайт https://securereg3.prometric.com/Welcome.aspx не будет заполнять элементы <option>
в ШАГ 2 , если вы не выберете параметры из радиокнопки и раскрывающееся меню внутри ШАГ 1 .
Чтобы щелкнуть Переключатель с текстом Academi c, Профессиональная лицензия & Сертификация, государственные и корпоративные программы и выберите вариант A. Электрик ELECP , а затем на <select>
вариант СОЕДИНЕННЫЕ ШТАТЫ , вам нужно вызвать WebDriverWait для element_to_be_clickable()
, и вы можете использовать любой из следующие Стратегии локатора :
Использование CSS_SELECTOR
:
driver.get('https://securereg3.prometric.com/Welcome.aspx')
WebDriverWait(driver, 20).until(EC.element_to_be_clickable((By.CSS_SELECTOR, "input#masterPage_cphPageBody_rbnProfLisc"))).click()
select1 = Select(WebDriverWait(driver, 20).until(EC.element_to_be_clickable((By.CSS_SELECTOR, "select#masterPage_cphPageBody_ddlPrograms[name^='masterPage']"))))
select1.select_by_value("ELECP")
select2 = Select(WebDriverWait(driver, 20).until(EC.element_to_be_clickable((By.CSS_SELECTOR, "select#masterPage_cphPageBody_ddlCountry"))))
select2.select_by_visible_text("UNITED STATES")
Использование XPATH :
driver.get('https://securereg3.prometric.com/Welcome.aspx')
WebDriverWait(driver, 20).until(EC.element_to_be_clickable((By.XPATH, "//input[@id='masterPage_cphPageBody_rbnProfLisc']"))).click()
select1 = Select(WebDriverWait(driver, 20).until(EC.element_to_be_clickable((By.XPATH, "//select[@id='masterPage_cphPageBody_ddlPrograms']"))))
select1.select_by_value("ELECP")
select2 = Select(WebDriverWait(driver, 20).until(EC.element_to_be_clickable((By.XPATH, "//select[@id='masterPage_cphPageBody_ddlCountry']"))))
select2.select_by_visible_text("UNITED STATES")
Примечание : вам необходимо добавить следующие импорты:
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.common.by import By
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.support.ui import Select
Снимок браузера: