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

如何在Python的Selenium中获取动态ID复选框的选中状态

解决方案

方案1:基于已知父级div定位

你提供的父级div路径可直接用于定位内部的复选框,只需在父级XPath后补充子元素筛选规则即可,适配父级内仅存在单个复选框的场景:

element = driver.find_element_by_xpath('//*[@id="app"]/form/section/div[3]/div/div[2]/div[1]//input[@type="checkbox"]')
print(element.is_selected())

如果要进一步提升定位准确性,可补充复选框的固定属性做筛选:

element = driver.find_element_by_xpath('//*[@id="app"]/form/section/div[3]/div/div[2]/div[1]//input[@label="Stoploss" and @class="su-checkbox"]')
print(element.is_selected())

方案2:直接通过固定属性定位

该复选框的label、class、type均为固定值,不受动态ID影响,无需依赖父级层级也可直接定位,层级变更时容错性更高:

# Selenium 3.x 旧版写法
element = driver.find_element_by_xpath('//input[@type="checkbox" and @label="Stoploss" and @class="su-checkbox"]')
print(element.is_selected())

# Selenium 4.x 推荐写法
from selenium.webdriver.common.by import By
element = driver.find_element(By.XPATH, '//input[@type="checkbox" and @label="Stoploss" and @class="su-checkbox"]')
print(element.is_selected())

以上两种方案获取到的元素均支持直接调用is_selected()方法判断选中状态,和原ID定位的操作逻辑完全一致。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.07 22:18:04