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

如何编写Selenium脚本检测Angular站点下拉框选中项是否为产品图片

Selenium校验Angular站点下拉选中值实现方案

你提供的下拉框带有固定唯一id selBItemType,直接通过id定位即可,无需依赖Angular生成的动态_ngcontent属性,避免版本迭代后属性变更导致定位失效。

实现步骤(Python 示例)

  • 首先导入Selenium内置的Select工具类,专门用于处理原生select下拉框
  • 定位下拉框元素并初始化Select实例,加入显式等待适配Angular异步渲染逻辑
  • 获取当前选中项的文本,和目标值「Product Images(产品图片)」做校验
from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import Select
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.support.ui import WebDriverWait

# 初始化驱动(这里以Chrome为例)
driver = webdriver.Chrome()
driver.get("你的站点访问地址")

# 等待下拉框加载完成,避免Angular渲染延迟导致定位失败
wait = WebDriverWait(driver, 10)
select_ele = wait.until(EC.presence_of_element_located((By.ID, "selBItemType")))

# 初始化Select对象
select = Select(select_ele)

# 获取当前选中项的文本
current_selected_text = select.first_selected_option.text.strip()

# 校验是否为产品图片
target_text = "Product Images"
if current_selected_text == target_text:
    print("校验通过,当前选中值为产品图片")
else:
    print(f"校验失败,当前选中值为{current_selected_text},预期为产品图片")

# 若需要自动选中产品图片,可调用以下方法
# select.select_by_visible_text(target_text)
# 若Angular绑定的表单值未触发更新,可手动触发change事件
# driver.execute_script("arguments[0].dispatchEvent(new Event('change'))", select_ele)

如果你站点的下拉是Angular自定义封装的样式,实际隐藏了原生select,就不能用Select类处理,需要模拟点击展开下拉框,再点击对应选项的方式实现,代码逻辑需要对应调整。

内容的提问来源于stack exchange,提问作者Abhimanyu sharma

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.04 22:27:01