You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

HTML中无选项列表的下拉框如何获取全部选项?

解决动态自定义下拉框的选项获取问题

这种非原生<select>的自定义下拉框,选项默认处于隐藏状态,再加上元素属性动态生成,得按以下步骤操作:

1. 触发下拉框展开

先定位到下拉框的触发区域(比如你提供的带箭头的选中容器),执行点击操作让选项列表显示出来。优先用类名组合定位,避开动态属性干扰:

# Selenium Python示例代码
dropdown_trigger = driver.find_element(By.CSS_SELECTOR, "div.oxd-select-text.oxd-select-text--active")
dropdown_trigger.click()

2. 定位并提取所有选项

下拉展开后,选项列表通常会挂载在页面的固定层级容器中,找到选项的统一稳定类名(比如这类组件的选项常带oxd-select-option类),再等待元素加载完成后批量获取:

from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC

# 等待选项渲染完成
options = WebDriverWait(driver, 10).until(
    EC.presence_of_all_elements_located((By.CSS_SELECTOR, "div.oxd-select-option"))
)

# 提取所有选项文本
all_options = [opt.text for opt in options]
print(all_options)

3. 备选方案:跳过前端触发,直接抓数据源

如果点击触发下拉有障碍,还可以用这两种方式:

  • 打开浏览器开发者工具的Network面板,点击下拉时抓接口请求,直接解析返回的选项数据;
  • 查看页面的script标签,若有存储选项的全局变量,通过执行JS直接读取:
    # 执行JS获取页面中的选项数据示例
    options_data = driver.execute_script("return window.dropdownSourceData")
    

内容的提问来源于stack exchange,提问作者Aris Nguyen

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.19 20:55:03