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

Selenium,Python-根据变量从下拉列表中选择值,python,selenium,Python,Selenium,早上好。我目前正在努力根据字典值从下拉菜单中选择一个国家。我试图使用sendkeys,但很快就遇到了错误,因为派遣美国的阿拉伯联合酋长国一直在返回。然后我找到了。按值选择,但这似乎不起作用。我有以下进口产品: from selenium import webdriver from selenium.webdriver.common.by import By from selenium.webdriver.common.keys import Keys from s

早上好。我目前正在努力根据字典值从下拉菜单中选择一个国家。我试图使用sendkeys,但很快就遇到了错误,因为派遣美国的阿拉伯联合酋长国一直在返回。然后我找到了。按值选择,但这似乎不起作用。我有以下进口产品:

    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
以下是我的选择:

d.find_element_by_css_selector('select#residenceQuestion').select_by_value(quote_data["citizenship"])
然而,当运行时,我遇到属性错误“WebElement”对象没有属性“select_by_value”。很有可能是我没有正确定位下拉列表,因为它确实是作为WebElement返回的,或者使用了错误的select_。谢谢你的帮助。谢谢

您正在尝试使用选择功能。我认为这会对你有用:

from selenium.webdriver.support.ui import Select

Select(d.find_element_by_css_selector('select#residenceQuestion')).select_by_value(quote_data["citizenship"])

@TRoch你说得对,需要导入。请参阅我的编辑。另外,我的语法似乎有点错误。请注意!我有导入权限,这是select语句中的顺序。获取它:。现在select正在工作,现在它正在正确地进行实际选择。应该是:Selectd.find_element_by_css_selector'selectresidenceQuestion'。select_by_valuequote_data[citizensity]谢谢伙计!