如何使用 Python 在 Selenium 上 select 下拉菜单

How to select dropdown on Selenium using Python

我正在尝试 select 国家/地区,但不知何故它不起作用。下面的代码是我所做的。无法正常工作。

<select name="state" class="form-control selectpicker">
                                        <option value=" ">Please select your state</option>
                                        <option>Alabama</option>
                                        <option>Alaska</option>
                                        <option>Arizona</option>
                                        <option>Arkansas</option>
                                        <option>California</option>
                                        <option>Colorado</option>
                                     </select>

这是我所做的:browser.find_element_by_css_selector(".form-control.selectpicker [option='Alaska']").click()

要 select 文本为 阿拉斯加<option> 您可以使用以下 :

  • 使用xpath:

    dropdown_menu = Select(browser.find_element_by_xpath("//select[@class='form-control selectpicker' and @name='state']"))
    dropdown_menu.select_by_visible_text('Alaska')
    

理想情况下,您需要为 element_to_be_clickable() 引入 ,您可以使用以下 Locator 策略

  • 使用 CSS_SELECTOR 并在一行中:

    Select(WebDriverWait(browser, 20).until(EC.element_to_be_clickable((By.CSS_SELECTOR, "select.form-control.selectpicker[name='state']")))).select_by_visible_text('Alaska')
    
  • 注意:您必须添加以下导入:

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

参考

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