获取下拉框选中选项数量
获取下拉框选中选项数量 用于读取指定下拉框(select 元素)中已选中选项的个数,支持单选与多选下拉框,常用于表单校验和选择状态判断。
指令标识:GetNumberOfSelectedOption
指令类型:网页指令
指令描述:获取指定下拉框(select 元素)中已选中选项的数量,支持单选和多选下拉框
先选使用方式
Section titled “先选使用方式”工作流支持「可视化编排」和「代码编排」两种创建方式。获取下拉框选中选项数量 在两种方式里都能用,核心业务参数一致,区别主要是你通过界面配置,还是通过 Python 脚本配置。
| 方式 | 怎么用 | 适合人群 |
|---|---|---|
| 可视化编排(推荐先学) | 拖入节点,在右侧表单选择下拉框元素并填写结果变量名 | 大多数用户,零代码,适合快速搭建和调试 |
| 代码编排(Python) | 在脚本中调用 bots.getNumberOfSelectedOption(selector="...", outKey="...") | 熟悉代码、需要复用脚本或批量生成流程的用户 |
第一次使用建议先用可视化编排跑通,再迁移到 Python 代码编排。下方「参数说明」同时给出界面字段和代码参数名,方便两种方式对应。
什么时候用?
Section titled “什么时候用?”- 验证多选下拉框中已选中的选项数量是否符合预期。
- 在提交前检查下拉框是否已有选中项,避免提交空值。
- 统计或对比操作前后下拉框的选中变化。
如需获取下拉框中全部可选项的数量,可使用 获取下拉框选项数量。
- 选择器指向的是有效的
select元素(而非自定义下拉组件)。 - 目标页面已打开且下拉框已渲染完成;动态加载时建议预留查找等待时间。
- 已规划好「将结果保存至」的变量名,用于引用返回的整数结果。
- 该指令属于元素定位类,默认失败即中止(报错中止):在等待时间内找不到元素会抛出异常。
- 若元素在 iframe 中,需填写 iframe 页面定位器。
可视化编排:从 0 到跑通
Section titled “可视化编排:从 0 到跑通”下面用一个常见场景演示:读取一个国家多选下拉框已选中的数量。按 4 步即可跑起来:
- 在前序流程中通过 打开网页 打开目标页面。
- 添加本节点,在 ComboBox选择器 中从元素库选择,或手动填写选择器:
//*[@id='country-select']- 在 将结果保存至 填写变量名(如
selectedCount)。如下拉框动态加载,可在「查找元素高级配置」中设置timeout。 - 点击运行,确认变量得到选中选项的数量(整数)。
| 界面名称 | 代码属性名 | 类型 | 必填 | 默认值 | 说明 |
|---|---|---|---|---|---|
| ComboBox选择器 | selector | String | 是 | - | 用于定位下拉框元素的选择器,必须指向 select 元素,不能为空,支持从元素库选择或手动填写 XPath 等定位器 |
| iframe页面定位器 | frameSelector | String | 否 | - | 高级选项。iframe 的 XPath,目标元素在 iframe 中时填写,例如 //html/iframe |
| 查找元素高级配置 | findElementOptions | JSON | 否 | - | 高级选项。元素查找配置,可设置元素定位超时,例如 {"timeout":5000},单位毫秒 |
| 界面名称 | 代码属性名 | 类型 | 必填 | 说明 |
|---|---|---|---|---|
| 将结果保存至 | outKey | Integer | 否 | 保存选中选项数量的变量名,返回整数;不填则结果无法被后续节点引用 |
- 运行成功,结果变量得到一个整数(当前选中的选项个数)。
- 数值与页面实际选中状态一致。
运行后你会看到(以上面场景为例):
- 变量
selectedCount得到选中的数量,例如多选下拉框选了 2 项则值为2,单选选中 1 项则值为1,未选中则为0。
| 现象 / 报错原文 | 可能原因 | 处理建议 |
|---|---|---|
| 报错找不到元素 | 选择器错误,或下拉框尚未加载 | 核对选择器,在「查找元素高级配置」中增大 timeout |
| 执行失败 / 类型不符 | 选择器指向的不是 select 元素 | 确认目标为原生 select 元素,而非自定义下拉组件 |
| 返回值与预期不符 | 单选 / 多选理解偏差 | 单选返回 0 或 1,多选返回实际选中个数 |
| iframe 内元素找不到 | 未填写 iframe 定位器 | 在「iframe页面定位器」填写对应 XPath |
Python 代码编排
Section titled “Python 代码编排”代码编排以 Python 为主。运行上下文由代码编排模板创建,示例里只需要关注业务指令本身。
# 先打开目标页面bots.openUrl(url="https://example.com")# 获取下拉框已选中选项数量,保存到 selectedCountbots.getNumberOfSelectedOption( selector="//*[@id='country-select']", outKey="selectedCount",)如下拉框为动态加载,可在查找配置中增大定位超时:
bots.getNumberOfSelectedOption( selector="//*[@id='country-select']", findElementOptions='{"timeout":5000}', outKey="selectedCount",)可视化表单里的「ComboBox选择器」「查找元素高级配置」「将结果保存至」分别对应代码里的 selector、findElementOptions、outKey。
如果你想在工作流中通过节点动态编排指令,可使用 执行指令(XML)节点。
Q1:选择器必须指向什么元素?
Section titled “Q1:选择器必须指向什么元素?”A: 必须指向有效的 select 元素。指向其他类型元素会导致执行失败。
Q2:单选下拉框返回值是多少?
Section titled “Q2:单选下拉框返回值是多少?”A: 单选下拉框通常返回 0(未选中)或 1(选中一个选项)。
Q3:没有选中任何选项会怎样?
Section titled “Q3:没有选中任何选项会怎样?”A: 返回 0。
Q4:动态加载的下拉框要注意什么?
Section titled “Q4:动态加载的下拉框要注意什么?”A: 建议先等待选项加载完成,或在 findElementOptions 的 timeout 中增加查找等待时间。