不能 如何使用Selenium Python从第二个Dropdownmenu中选择一个选项?

问题描述 投票:0回答:2

我是一个python新手,但最近尝试学习Selenium。

我使用的网页是 https:/securereg3.prometric.comWelcome.aspx? msg=EMExpSes

不知为什么,它不会从这个下拉列表中选择 "STEP2",我该怎么办?请大家帮忙

这是我的代码。

from selenium import webdriver
from selenium.webdriver.common.keys import Keys
from selenium.webdriver.support.ui import Select
import time

PATH = 'C:\Program Files (x86)\chromedriver.exe'
driver = webdriver.Chrome(PATH)
driver.get('https://securereg3.prometric.com/Welcome.aspx')
driver.find_element_by_id("masterPage_cphPageBody_rbnProfLisc").click()
prog = Select(find_element_by_id("masterPage_cphPageBody_ddlPrograms"))
time.sleep(1)
prog.select_by_visible_text("STEP2")
python selenium xpath drop-down-menu css-selectors
2个回答
2
投票

你错过了 driver. 在这一行。

prog = Select(find_element_by_id("masterPage_cphPageBody_ddlPrograms"))

这是应该的。

prog = Select(driver.find_element_by_id("masterPage_cphPageBody_ddlPrograms"))

0
投票

这个网站 https:/securereg3.prometric.comWelcome.aspx。 不会填入 <option> 内的项目 第二步 除非您从 第一步.

要点击 无线电按钮 附文 学术、专业执照& 认证、政府和企业计划。 并选择选项 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
    
  • 浏览器快照。

prometric

© www.soinside.com 2019 - 2024. All rights reserved.