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

如何使用PowerShell和Selenium获取下拉菜单的选中选项及对应值

问题原因

你之前的代码调用GetAttribute("innerText")获取的是整个下拉框根节点包含的所有子元素文本,所以会返回全部选项的文字内容,无法单独提取选中项。

解决方案

针对原生<select>标签实现的下拉框

这是最常见的下拉框实现方式,有两种常用取值方式:

  • 直接获取选中项的value值
    直接读取select元素的value属性即可,默认会返回当前选中
  • 获取选中项的显示文本
    先通过XPath定位到被标记为selected的option子元素,再读取文本即可:
    # 定位选中的option元素
    $selectedOption = $ChromeDriver.FindElementByXPath('//*[@id="mbd"]/option[@selected]')
    # 读取选中项显示的文本
    $selectedText = $selectedOption.Text
    # 也可以读取选中项的value属性
    $selectedValue = $selectedOption.GetAttribute("value")
    

针对div等自定义元素模拟的下拉框

如果页面用的是非原生select的自定义下拉组件,通常选中项会有特殊的类名(比如active、selected)或者自定义属性标记选中状态,你需要对应调整XPath定位到选中节点再取值,示例:

$selectedOption = $ChromeDriver.FindElementByXPath('//*[contains(@class,"dropdown-item") and contains(@class,"selected")]')
$selectedText = $selectedOption.Text
赋值到另一个同选项下拉框

拿到选中值之后,直接给目标下拉框赋值即可,原生select可以直接设置value属性,或者根据拿到的文本/value定位目标下拉框的对应选项触发选中。

内容的提问来源于stack exchange,提问作者Simply Uncensored

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.07 07:09:01