Я работаю с Selenium и Python. Я пытаюсь использовать метод click()
, чтобы щелкнуть динамически созданный переключатель. Разметка для радио ниже.Selenium - не могу нажать на скрытый элемент
<input version="2" value="1" class="linked-ftb-radio meta(controlNumber=2)" id="radio_1" name="IndexString" reference="TEST 01" type="radio">
<label for="radio_1" id="linked-label" class="radio-label"></label>
код у меня есть:
driver.find_element_by_xpath('//*[@id="radio_1"]').click()
Однако получается следующее сообщение об ошибке:
Traceback (most recent call last):
File "index.py", line 41, in <module>
driver.find_element_by_xpath('//*[@id="radio_1"]').click()
File "/Library/Frameworks/Python.framework/Versions/3.4/lib/python3.4/site-packages/selenium/webdriver/remote/webelement.py", line 74, in click
self._execute(Command.CLICK_ELEMENT)
File "/Library/Frameworks/Python.framework/Versions/3.4/lib/python3.4/site-packages/selenium/webdriver/remote/webelement.py", line 457, in _execute
return self._parent.execute(command, params)
File "/Library/Frameworks/Python.framework/Versions/3.4/lib/python3.4/site-packages/selenium/webdriver/remote/webdriver.py", line 233, in execute
self.error_handler.check_response(response)
File "/Library/Frameworks/Python.framework/Versions/3.4/lib/python3.4/site-packages/selenium/webdriver/remote/errorhandler.py", line 194, in check_response
raise exception_class(message, screen, stacktrace)
selenium.common.exceptions.ElementNotVisibleException: Message: Element is not currently visible and so may not be interacted with
радио, как представляется, моделируется путем изменения изображения при нажатии на ярлык. Другими словами, при нажатии на класс изменяется на radio-label selected
.
Как я могу нажать на кнопку радио с селеном, имея в виду, что в настоящее время не видно?
Что произойдет, если вы добавите паузу перед нажатием кнопки? (Это не решение, а еще один шаг отладки) –
Я думаю, что щелчок на метке выберет флажок, вы должны как-то раз «driver.find_element_by_css_selector (« label [for = «radio_1»] »). Click()' и дайте мне знать .. –