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

Selenium获取div实现下拉框所有可用选项报错排查

Selenium操作非原生div下拉框获取选项报错问题

问题背景

  • 测试需求:使用Selenium编写网站自动化测试用例,需要获取页面中某一下拉框的全部可用选项,与预期选项列表做比对校验
  • 现存阻碍:
    • 网站DOM存在大量嵌套div,元素审查时目标下拉框会同时高亮多个div节点,无法准确定位下拉框对应的DOM元素
    • 目标下拉框由div元素实现,并非原生select标签,无法直接使用Selenium内置的Select类操作

报错复现

使用找到的替代方案编写代码后,执行click操作始终返回None类型,触发报错,对应代码如下:

listWE = WebDriverWait(driver, 20).until(EC.element_to_be_clickable((By.XPATH, '//*[@id="FXOptions"]/div[2]/div[1]/div[1]/div/div[2]/div[2]/div/div/div/div/div/div'))).click()
print(listWE)
ab = Select(listWE)

运行输出及报错信息:

None
Traceback (most recent call last):
  File "/Users/18356995/Documents/WebUI/selenium/main.py", line 28, in <module>
    ab = Select(listWE)
  File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/selenium/webdriver/support/select.py", line 36, in __init__
    if webelement.tag_name.lower() != "select":
AttributeError: 'NoneType' object has no attribute 'tag_name'

已尝试操作:审查目标元素后复制其XPath路径、复制所有与下拉框关联的div节点的XPath路径,运行结果完全一致。

对应页面DOM结构截图:
下拉框DOM结构截图

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.29 11:45:31