Selenium,Python - 根据变量选择下拉列表中的值
大家早上好。我现在正在尝试根据字典中的值从下拉菜单中选择一个国家。我试着用sendkeys()方法,但遇到了问题,每次发送“United States”时,它却总是返回“United Arab Emirates”。后来我发现了.select_by_value这个方法,但似乎也不太好使。我有以下的导入:
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 个回答
7
你想使用 Select
功能。我觉得这个方法对你会有帮助:
from selenium.webdriver.support.ui import Select
Select(d.find_element_by_css_selector('select#residenceQuestion')).select_by_value(quote_data["citizenship"])