【问题标题】:How to select a value from dropdown in Selenium?如何从 Selenium 的下拉列表中选择一个值?
【发布时间】:2020-08-02 06:49:37
【问题描述】:

抱歉,如果之前有人问过这个问题。但我只是从编程和 Selenium 开始。:我需要帮助从下面的下拉列表中选择一个值:

以下是 HTML 代码

我尝试使用它的 xpath 选择德里:

driver.findElement(By.xpath("//div[@id='glsctl00_mainContent_ddl_destinationStation1_CTNR']//a[@text='Delhi (DEL)'][contains(text(),'Delhi (DEL)')]")).click();

我在控制台得到的错误是:

"没有这样的元素:无法定位元素:{"method":"xpath","selector":"//div[@id='glsctl00_mainContent_ddl_destinationStation1_CTNR']//a[@text='Delhi (DEL) '][contains(text(),'德里 (DEL)')]"}"

你能帮我吗,从这个下拉列表中选择一个值的另一种方法是什么?

【问题讨论】:

    标签: selenium xpath webdriver


    【解决方案1】:
    driver.maximize_window()
    
    wait = WebDriverWait(driver, 10)
    
    wait.until(EC.element_to_be_clickable((By.XPATH, "//input[@id='ctl00_mainContent_ddl_originStation1_CTXT']"))).click()
    wait.until(EC.element_to_be_clickable((By.XPATH, "//div[@id='dropdownGroup1']//div[@class='dropdownDiv']//ul//li//a[@text='Delhi (DEL)']"))).click()
    wait.until(EC.element_to_be_clickable((By.XPATH, "//div[@id='glsctl00_mainContent_ddl_destinationStation1_CTNR']//a[@text='Goa (GOI)'][contains(text(),'Goa (GOI)')]"))).click()
    

    注意:请在您的解决方案中添加以下导入

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

    【讨论】:

    • @Sino:请您验证上述解决方案
    猜你喜欢
    • 1970-01-01
    • 2016-11-09
    • 1970-01-01
    • 2017-04-21
    • 1970-01-01
    • 1970-01-01
    • 2020-05-20
    相关资源
    最近更新 更多