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

时间:2014-04-11 18:20:48

标签: python selenium

早上好。我正在尝试根据字典值从下拉菜单中选择一个国家/地区。我试图使用sendkeys(),并在发送“美国”不断返回“United Arab Emerates”时迅速遇到错误。然后我找到.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

以下是我的选择:

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

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

1 个答案:

答案 0 :(得分:4)

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

from selenium.webdriver.support.ui import Select

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