isSelected() 不适用于硒中的单选按钮

Posted

技术标签:

【中文标题】isSelected() 不适用于硒中的单选按钮【英文标题】:isSelected() not working for radio buttons in selenium 【发布时间】:2020-10-03 10:38:37 【问题描述】:

isSelected() 总是返回 false,即使单选按钮处于选中状态。

以下是未选中单选按钮时的 html

<input type="radio" class="chkbox" name="time1" value="3">

下面是我选择单选按钮时的 HTML

<input type="radio" class="chkbox" name="time1" value="3" checked> == $0

isSelected 在这两种情况下都返回 false

driver.findElement(By.name("time1")).isSelected()

我也尝试过使用 getAttribute("checked") 并且它返回 null

driver.findElement(By.name("time1")).getAttribute("checked")

谁能帮我获得单选按钮的选中状态!!!

【问题讨论】:

我有同样的问题,但我认为我们不能在这里使用这个 isSelected 方法,因为它每次都返回相同的结果 【参考方案1】:

我正在使用以下解决方法来获取我的 HTML 的单选按钮选中状态

public boolean isRadioButtonSelected() 
        if(driver.findElement(By.xpath("//*[@name='time1' and @value='3']")).isDisplayed()) 
            return driver.findElement(By.xpath("//*[@name='time1' and @value='3' and @checked]")).isDisplayed();
        
        return false;
    

【讨论】:

以上是关于isSelected() 不适用于硒中的单选按钮的主要内容,如果未能解决你的问题,请参考以下文章

“onRadioButtonClicked”方法不适用于“onCreate”方法实现的单选按钮

使用 HTML 中的单选按钮链接网页

android中的单选按钮不起作用

GetCheck() 适用于检查按钮但不适用于单选按钮?

在单独的类中获取选定单选按钮的 isSelected 值

MFC 中的单选按钮(重写)