Кнопка «Радио» не нажата в Selenium / Python

Люди, это сводит меня с ума. У меня есть фрагменты, подобные следующим

<label class="" for="M37_Q_POSWECHSEL_BETT_B1"> <input id="M37_Q_POSWECHSEL_BETT_B1" name="M37_Q_POSWECHSEL_BETT" value="B1" aria-describedby="M37_Q_POSWECHSEL_BETT_error_0" aria-invalid="true" data-clipboard="M37_Q_POSWECHSEL_BETT#B1" type="radio"> 0 </label> 

Здесь я бы хотел выбрать переключатели и выбрать их со следующим кодом:

 radios = driver.find_elements_by_xpath("//input[starts-with(@id, 'M37_Q_')][@value='B1']") for radio in radios: # just check the id print(radio.get_attribute('id')) radio.click() 

Он правильно выбирает элементы, о которых идет речь. Однако он не выбирается и не дает очевидных ошибок. Можем ли мы использовать .click() для выбора переключателей здесь? Это какая-то проблема с обработчиком?

Попробуй это,

 driver.execute_script("arguments[0].checked = true;",element) 

Вы также можете попробовать, поместив ENTER в элемент.

Попробуйте использовать следующий селектор Css:

  Actions action = new Actions(drive); action.moveToElement(drive.findElement( By.cssSelector("label > input[id^='M37_Q_']"))).build().perform(); drive.findElement( By.cssSelector("label > input[id^='M37_Q_']")).click();