Приветствую, коллеги.
Имеется поле с валидацией в которое вводится 10 цифр.
Про вводе неправильного набора цифр валидация не пропускает и появляется красный смайлик.
Написал вот такую функцию с циклом :
def input_iccid(self):
iccid = random.randint(200000000, 299999999)
self.element_is_visible(self.locators.NUMBER_ICCID).click()
self.element_is_visible(self.locators.NUMBER_ICCID).send_keys('0' + str(iccid))
self.element_is_visible(self.locators.PHONE_NUMBER).click()
while self.element_is_visible(self.locators.SMILE_RED):
self.input_iccid()
if self.element_is_visible(self.locators.SMILE):
print('Введен верный ICCID')
break
К element_is_visible относится функция :
def element_is_visible(self, locator, timeout = 5):
return wait(self.driver, timeout).until(EC.visibility_of_element_located(locator))
Проблема в том, что цикл не останавливается когда введенный номер проходит валидацию и красный смайлик становится серым. По чему-то не отрабатывает второе условие.
В чем может быть проблема ?
Пробовал и так тоже :
if self.element_is_visible(self.locators.SMILE_RED):
self.input_iccid()
else:
print('Введен верный номер')