isSelected () проблемы с переключателями

1

У меня есть функция, целью которой является изменение состояния переключателя, это выглядит так:

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

Теперь это работает примерно в 90% случаев, но иногда оно нажимает на не выбранную кнопку, а затем снова проходит цикл и отменяет предыдущее, что приводит к тому, что состояние остается неизменным после запуска функции. ведьма для меня может означать только то, что выбранное состояние не найдено ни на одном из них, потому что когда я нахожу элементы в консоли, я нахожу их в выбранном состоянии. Кто-нибудь знает, почему это происходит?

  • 1
    Глупый вопрос, почему вы хотели бы инициировать событие нажатия на невыбранную кнопку? .. Вы не просто хотите очистить выбранное или выбрать опции, которые не выбраны?
  • 0
    Хм ... потому что отправка события нажатия на уже выбранную кнопку была бы излишней: P, все, что делает функция - это изменение состояния радиосвязи. Он используется для моих тестов редактирования, где я использую изменения в моей форме, сохраняются состояния радиосвязи.
Показать ещё 2 комментария
Теги:
selenium
radio-button

1 ответ

1
Лучший ответ

Просто осознал, так как я не хочу менять состояние больше, чем однажды, я могу просто использовать разрыв в if. но все же чужая проблема, вызванная этой функцией.

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

Ещё вопросы

Сообщество Overcoder
Наверх
Меню