使用Python Selenium如何实现下拉框国家选项的选择赋值?
你当前的代码仅完成了搜索输入框的内容输入,没有触发下拉选项的选择操作,按照下方方法调整即可:
方案1:适配搜索联想型下拉菜单(大部分国家选择组件的实现方式)
需要先等待输入后触发的下拉选项加载完成,再点击对应目标国家:
- 先导入selenium的等待和定位相关依赖
from selenium.webdriver.common.by import By from selenium.webdriver.support.ui import WebDriverWait from selenium.webdriver.support import expected_conditions as EC
- 完整操作代码:
# 定位搜索输入框,先清空原有内容再输入目标国家 test = driver.find_element(By.XPATH, "//input[@type='search']") test.clear() test.send_keys('United States') # 最长等待10秒直到目标国家选项可点击,点击完成选择 wait = WebDriverWait(driver, 10) us_option = wait.until(EC.element_to_be_clickable((By.XPATH, "//*[normalize-space(text())='United States']"))) us_option.click()
如果定位时匹配不到文本,可将xpath改为模糊匹配://*[contains(text(),'United States')]
方案2:适配原生select标签下拉菜单
如果你的国家选择组件是HTML原生的<select>标签实现,可直接用Select工具类操作:
from selenium.webdriver.support.ui import Select from selenium.webdriver.common.by import By country_select = Select(driver.find_element(By.XPATH, "//select[替换为你页面下拉框的唯一识别属性]")) country_select.select_by_visible_text("United States")
内容的提问来源于stack exchange,提问作者Brian Daniel
相关产品推荐
相关产品推荐

