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

Selenium-VBA:如何获取下拉菜单(Dropdown)的选项总数量

解决方案

错误原因

你之前代码调用的Size属性返回的是下拉框元素本身的像素宽高尺寸,和选项数量无关,因此无法得到正确结果。

正确实现

Selenium VBA提供了两种方式获取下拉框选项总数:

方法1:使用专门的Select类(推荐,适合后续需要操作下拉选择的场景)

可以直接将定位到的select元素转为Select类型,通过内置的Options集合获取数量:

' 定位下拉框并转为Select对象
Dim pagerSelect As Selenium.Select
Set pagerSelect = driver.FindElementById("select_pager").AsSelect

' 读取选项总数量
Dim optionTotal As Long
optionTotal = pagerSelect.Options.Count

后续如果需要选择指定选项,可以直接调用Select类的内置方法:

  • 按索引选择:pagerSelect.SelectByIndex 0(索引从0开始计数)
  • 按value属性选择:pagerSelect.SelectByValue "1"
  • 按选项文本选择:pagerSelect.SelectByText "1"

方法2:直接统计option子节点数量(适合仅需统计数量的场景)

直接定位下拉框下所有的<option>标签,取结果集的数量即可:

Dim optionTotal As Long
optionTotal = driver.FindElementById("select_pager").FindElementsByTag("option").Count

按照你提供的HTML示例,两种方法返回的结果都为1,符合实际选项数量。

内容的提问来源于stack exchange,提问作者Shyam Sundar Shankar

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.26 10:54:04