@Maxwell012

Как нажать на кнопку с помощью Python Selenium?

Я первый раз пишу на пайтоне, возникла проблема нажатия на кнопку, перечитал множество форумов, но ответа так и не нашел. Есть значит тест, вот ссылка onlinetribune.info/testi-do-seminaru-11-suspilno-p.... Суть программы такова, надо нажать сперва на кнопку "Начать тест", а потом нажимать поочередно на кнопки "Проверить", "Далее". В чем затык, первое нажатие на кнопку "Проверить" - все работает, но уже на втором нажатие пишет что кнопка не интерактивна, паузы в коде стоят. Вот код:
submit = browser.find_element_by_xpath("//input[@name='startQuiz']")
questions = soup.find('div', class_="wpProQuiz_question_text")

submit.click()

check = browser.find_element_by_xpath("//input[@name='check']")
back = browser.find_element_by_xpath("//input[@name='back']")
next = browser.find_element_by_xpath("//input[@name='next']")
time.sleep(2)
check.click()
next.click()
time.sleep(2)
check.click()


Ошибка:
Сообщение = Message: element not interactable
(Session info: chrome=100.0.4896.75)
Stacktrace:
Backtrace:
Ordinal0 [0x00E09943+2595139]
Ordinal0 [0x00D9C9F1+2148849]
Ordinal0 [0x00C943F0+1065968]
Ordinal0 [0x00CC1F17+1253143]
Ordinal0 [0x00CB7AB3+1211059]
Ordinal0 [0x00CDB9EC+1358316]
Ordinal0 [0x00CB7474+1209460]
Ordinal0 [0x00CDBC04+1358852]
Ordinal0 [0x00CEBAF2+1424114]
Ordinal0 [0x00CDB806+1357830]
Ordinal0 [0x00CB6086+1204358]
Ordinal0 [0x00CB6F96+1208214]
GetHandleVerifier [0x00FAB232+1658114]
GetHandleVerifier [0x0106312C+2411516]
GetHandleVerifier [0x00E9F261+560433]
GetHandleVerifier [0x00E9E366+556598]
Ordinal0 [0x00DA286B+2173035]
Ordinal0 [0x00DA75F8+2192888]
Ordinal0 [0x00DA76E5+2193125]
Ordinal0 [0x00DB11FC+2232828]
BaseThreadInitThunk [0x7766FA29+25]
RtlGetAppContainerNamedObjectPath [0x77B77A7E+286]
RtlGetAppContainerNamedObjectPath [0x77B77A4E+238]
  • Вопрос задан
  • 442 просмотра
Пригласить эксперта
Ответы на вопрос 1
@FCKJesus
Данный код должен корректно отработать для вас

#Начать тест
browser.find_element(By.XPATH,  '//*[@id="wpProQuiz_74"]/div[4]/div/input')

for card in browser.find_elements(By.CLASS_NAME,  "wpProQuiz_questionListItem")
     for checkbox in card.find_elements(By.CLASS_NAME, "wpProQuiz_questionInput")
          #логика по выбору флага если нужна
     #Проверить
     card.find_element(By.CLASS_NAME,  "wpProQuiz_QuestionButton")[1].click()
     #Далее
     card.find_element(By.CLASS_NAME,  "wpProQuiz_QuestionButton")[2].click()

P.S. Сам не проверял
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы