2015-05-12 2 views
3

Я пытаюсь выбрать радиокнопку «Hitter». Может ли кто-нибудь помочь? Я пробовал много разных вещей, но продолжаю получать «Message: element not visible».Как выбрать переключатель с Selenium и Python

Спасибо!

enter image description here

+0

Не может быть ваш элемент вне окна селена? (может быть разрешен 'driver.maximize_window()' перед тем, как вы '.get' странице). Другая причина может заключаться в том, что вы пытаетесь захватить элемент перед его загрузкой, быстрый способ обхода - это добавить 'time.sleep (5)' (или любой подходящий промежуток времени), прежде чем пытаться найти элемент. – jaapvee

+0

@jaapvee пытается 'maximize_window()' делает полный смысл и может помочь, но добавление ожидания не поможет, я боюсь. Селен находит элемент, но не может его щелкнуть, поскольку он невидим. – alecxe

+0

@alecxe, да, я думаю, вы правы. Давайте посмотрим, когда OP реагирует: если 'maximize_window' делает трюк, куддо за правильный ответ идет вам :) – jaapvee

ответ

5

Есть несколько способов, чтобы найти радио input, вот один с помощью find_element_by_id():

radio = driver.find_element_by_id("ContentPlaceHolder1_HitterRadioButton") 
radio.click() 

Или, если у вас есть проблемы с этим подходом, вы можете имитировать щелчок с помощью JavaScript :

radio = driver.find_element_by_id("ContentPlaceHolder1_HitterRadioButton") 
driver.execute_script("arguments[0].click();", radio) 
+0

Спасибо за ответ. Однако после запуска я все равно получаю то же самое " Сообщение: element no visible "error: ( – Josh

+0

Странно, потому что, когда я проверяю if radio.is_selected(), он может сказать, что выбран переключатель. Но когда я пытаюсь щелкнуть его, пока он не выбран, не может показаться, что вообще отключен переключатель «Message: element not visible» – Josh

+0

, если возможно, вы можете указать URL-адрес, чтобы предоставить решение для этого? – Shaik

Смежные вопросы