Итак, как вы можете видеть из приведенного ниже кода;У меня есть серия циклов - начиная с цикла for
, затем if
, if
else
elif
try
- я использую их все для заполнения 1-веб-форма страницы с Python и Selenium.Готово;сейчас я просто пытаюсь добавить функцию щелчка ПОСЛЕ , этот код запустился ( т.е. заполнил мою веб-форму) для того, чтобы нажать мою ' кнопку сохранения ', затем«Подтвердить сохранение».
В настоящее время я пытался добавить функцию щелчка в except
last else
и pass
и , независимо от того, что она все еще запускает до завершения заполнения формы кодом. У меня естьтакже пробовал implicit
и explicit
wait
.
def add_assessment(self, record, map_data):
"""Create contact log"""
qna_frame = self.driver.find_element_by_css_selector("iframe[id^='iccc']")
self.driver.switch_to.frame(qna_frame)
pages = self.driver.find_element_by_css_selector("ul[class='nav nav-pills nav-stacked qna-tabs']")
pages = pages.find_elements_by_css_selector("a")
for page in pages:
page.click()
questions = self.driver.find_elements_by_css_selector("fieldset")
questions = [question for question in questions if question.text not in ("", " ", None)]
for question in questions[1:]:
self.q_text = question.find_element_by_css_selector("span[class='question-text ng-binding']").text
questionType = map_data.loc[map_data['question_text'] == self.q_text, 'question_type'].item()
answer = map_data.loc[map_data['question_text'] == self.q_text, 'map'].item()
answer = getattr(record, answer)
if answer not in ("", " ", "NaT", "NaN", None):
# while answer != "" and answer != " " and answer != "NaT":
if questionType == 'checks':
self.choose_checks(question, answer)
else:
try:
if questionType == 'text':
self.driver.implicitly_wait(0)
(question.find_element_by_css_selector("textarea").send_keys(str(answer))
if
question.find_elements_by_css_selector("textarea")
else
question.find_element_by_css_selector("input").send_keys(answer))
self.driver.implicitly_wait(15)
elif questionType == 'date':
try:
answer = answer.strftime('%m/%d/%Y')
question.find_element_by_css_selector("input").send_keys(answer)
page.click()
except Exception as e:
raise Errors.RequiredDataError('Issues with Assessment Date -- {}'.format(e))
elif questionType == 'radio':
question.find_element_by_css_selector("input[value='{}']".format(answer)).click()
except:
continue
else:
# driver.find_element_by_css_selector("#publishButton").click()
pass