【问题标题】:isSelected() problems with radio buttons单选按钮的 isSelected() 问题
【发布时间】:2014-07-15 10:58:04
【问题描述】:

我有一个函数,其目的是改变单选按钮的状态,它看起来像这样:

public void changeRadioState(List<WebElement> radioButtons){        
    for(WebElement radioButton: radioButtons)
    {
        if (!radioButton.isSelected()){              
            radioButton.click();
        }
    }
}

现在,这大约 90% 的时间都有效,但有时它会单击未选择的按钮,然后再次循环并单击前一个按钮,导致函数执行后状态相同跑步。对我来说,女巫只能意味着在它们中的任何一个上都找不到选定的状态,尽管当我在控制台中找到元素时,我发现它们处于选定状态。有人知道为什么会这样吗?

【问题讨论】:

  • 愚蠢的问题,你为什么要在未选择的按钮上触发点击事件? ..您不只是想清除已选择或选择未选择的选项吗?
  • 嗯.. 因为在已经选择的按钮上触发点击事件将是非常多余的:P,所有功能所做的只是改变收音机状态。它用于我的编辑测试,我在其中保存表单中的更改,其中包括无线电状态。
  • 我想这个函数的输出会根据单选按钮的状态而发生巨大变化。
  • 通常只有 2 个单选按钮,如果第一个被选中,那么它会按第二个,反之亦然。

标签: java selenium radio-button


【解决方案1】:

刚刚意识到,因为我不想改变状态,所以一旦我可以在 if 中使用中断。但这个功能仍然是一个奇怪的问题。

public void changeRadioState(List<WebElement> radioButtons){        
   for(WebElement radioButton: radioButtons)
   {
       if (!radioButton.isSelected()){              
          radioButton.click();
          break;
       }
   }
}

【讨论】:

    猜你喜欢
    • 2020-10-03
    • 1970-01-01
    • 2014-12-30
    • 2017-10-25
    • 2015-12-25
    • 1970-01-01
    • 2014-05-10
    • 1970-01-01
    相关资源
    最近更新 更多