【问题标题】:Can't seem to select from drop down menu - Python Selenium似乎无法从下拉菜单中选择 - Python Selenium
【发布时间】:2021-03-13 00:09:50
【问题描述】:

如标题所示,无论如何我都无法从该网站选择下拉菜单。

from selenium import webdriver
from selenium.webdriver.support.ui import Select

driver=webdriver.Chrome()
driver.get('https://assessing.nashuanh.gov/search.asp')

time.sleep(1)

select=Select(driver.find_element_by_xpath('//*[@id="cboSearchType"]'))
select.select_by_value('2')

【问题讨论】:

    标签: python selenium drop-down-menu frame webdriverwait


    【解决方案1】:

    首先,您必须处理页面中的框架。看起来这个下拉列表中没有值2,所以你必须传递一个有效的值。

    driver.switch_to.frame("middle")
    
    select = Select(driver.find_element_by_xpath('//*[@id="cboSearchType"]'))
    select.select_by_value('Parcel')
    

    【讨论】:

      【解决方案2】:

      内的值/文本为 Owner<option> 元素位于 <frame> 内,因此您必须:

      • 诱导WebDriverWait 使所需的框架可用并切换到它

      • 诱导WebDriverWait 使所需的元素可点击

      • 您可以使用以下任一Locator Strategies

        • 使用CSS_SELECTORselect_by_value()

          driver.get('https://assessing.nashuanh.gov/search.asp')
          WebDriverWait(driver, 20).until(EC.frame_to_be_available_and_switch_to_it((By.CSS_SELECTOR,"frame[name='middle']")))
          Select(WebDriverWait(driver, 20).until(EC.element_to_be_clickable((By.CSS_SELECTOR, "select#cboSearchType")))).select_by_value("Owner")
          
        • 使用XPATHselect_by_visible_text()

          driver.get('https://assessing.nashuanh.gov/search.asp')
          WebDriverWait(driver, 20).until(EC.frame_to_be_available_and_switch_to_it((By.XPATH,"//frame[@name='middle']")))
          Select(WebDriverWait(driver, 20).until(EC.element_to_be_clickable((By.XPATH, "//select[@id='cboSearchType']")))).select_by_visible_text("Owner")
          
      • 注意:您必须添加以下导入:

        from selenium.webdriver.support.ui import WebDriverWait
        from selenium.webdriver.common.by import By
        from selenium.webdriver.support import expected_conditions as EC
        
      • 浏览器快照:


      参考

      您可以在以下位置找到一些相关讨论:

      【讨论】:

        猜你喜欢
        • 2017-03-23
        • 2020-12-11
        • 1970-01-01
        • 2023-04-01
        • 1970-01-01
        • 2023-03-25
        • 2022-11-11
        • 2017-06-16
        • 1970-01-01
        相关资源
        最近更新 更多