首页 > 解决方案 > 如何检查 Selenium Python 中是否选中/取消选中复选框?

问题描述

我正在尝试通过返回布尔值的方法检查复选框的状态,但在两种情况下(选中和未选中)都返回 false。

 def checkbox_status(self):
        checked=self.driver.find_element_by_xpath('//span[contains(text(), "Dell")]/parent::span').is_selected()
        return checked

HTML

<div class="a-checkbox a-checkbox-fancy s-navigation-checkbox">
    <label>
        <input type="checkbox" name="" value="" checked="">
        <i class="a-icon a-icon-checkbox"></i>
        <span class="a-label a-checkbox-label">
            <span class="a-size-base a-color-base a-text-bold">Dell</span>
        </span>
    </label>
</div>

标签: pythonpython-3.xselenium-webdriver

解决方案


我们可以尝试使用 get 属性。这对我来说很好:

def status():
    element =driver.find_element_by_xpath('//span[contains(text(), "Dell")]/ancestor::label/input')
    if element.get_attribute('checked') :
        return True
    else:
        return False

推荐阅读