如何解决即使复选框已选中,is_selected() 仍未返回 True?

0 投票
1 回答
29 浏览
提问于 2025-04-12 20:34

我正在用Selenium和Python来检查一个复选框的状态,但它总是返回False。

复选框的HTML代码

复选框HTML

我在使用XPath

value = "//span[@title='Select Physical']"

我用下面的代码来判断复选框是否被选中。

if driver.find_element(By.XPATH, value).is_selected():
    self.click_button_by_xpath(value)

我不太确定我遗漏了什么。

1 个回答

0

is_selected() 这个方法只能在复选框或者单选按钮上使用,具体可以参考官方文档

由于看不到其他相关的HTML代码,我假设 aria-checked="true" 这个属性表示复选框是否被选中。如果这个假设是对的,下面的代码应该可以正常工作。

button = driver.find_element(By.XPATH, value)
if button.get_attribute("aria-checked") == "true":
    button.click()

撰写回答