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
相关产品推荐
相关产品推荐

