Selenium,Python-根据变量从下拉列表中选择一个值

TRo*_*och 3 python selenium

大家早。我目前正在尝试根据字典值从下拉菜单中选择一个国家。我试图使用sendkeys(),并在发送“美国”并不断返回“阿拉伯联合酋长国”时迅速遇到错误。然后我找到了“ .select_by_values”,但这似乎不起作用。我具有以下导入:

    from selenium import webdriver
    from selenium.webdriver.common.by import By
    from selenium.webdriver.common.keys import Keys
    from selenium.webdriver.support.ui import Select
    from selenium.webdriver.support.select import Select
    from selenium.common.exceptions import NoSuchElementException
    from selenium.webdriver.support.ui import WebDriverWait
    import selenium.webdriver.support.ui as UI
    import unittest, time, re, datetime
Run Code Online (Sandbox Code Playgroud)

以下是我的选择:

d.find_element_by_css_selector('select#residenceQuestion').select_by_value(quote_data["citizenship"])
Run Code Online (Sandbox Code Playgroud)

但是,当运行时,遇到属性错误“'WebElement'对象没有属性'select_by_value'”。很可能是我错误地定位了下拉列表(因为确实是作为WebElement返回),或者使用了select_by错误。任何帮助表示赞赏。谢谢!

Ric*_*ard 5

您正在尝试使用Select功能。我认为这将为您工作:

from selenium.webdriver.support.ui import Select

Select(d.find_element_by_css_selector('select#residenceQuestion')).select_by_value(quote_data["citizenship"])
Run Code Online (Sandbox Code Playgroud)