Проблема автоматизации Selenium: поле ввода принимает только первое значениеPython

Программы на Python
Anonymous
Проблема автоматизации Selenium: поле ввода принимает только первое значение

Сообщение Anonymous »

У меня возникла проблема со сценарием автоматизации Selenium на Python. До вчерашнего дня все работало идеально. Однако сегодня сценарий ведет себя не так, как ожидалось.
Проблема связана с функцией, которая вводит CPF (бразильский идентификационный номер) в поле формы. Хотя значение CPF корректно обновляется в коде, система автоматизации вводит в поле только первое значение. Когда скрипт пытается ввести новый CPF, отображается только первое значение, независимо от передаваемых новых значений.
Вот соответствующая часть моего кода:

Код: Выделить всё

def inserir_cpf(self, cpf):
print(f" Inside the Insert CPF function: {cpf}")
campo_cpf = WebDriverWait(self.driver, 10).until(
ec.presence_of_element_located((By.NAME, 'documentNumber'))
)
campo_cpf.clear()  # Clears the field before inserting the new value
campo_cpf.send_keys(cpf)
self.simular()

def filtrar_cpf(self):
t = 0
while t < len(doc.dic_cpf):
print(t)
cpf = doc.list_cpf[t]
print('Selecting CPF')
print(cpf)
self.list_banco = ['BMP', 'QI', 'J17']

for i in self.list_banco:
print('Selecting Bank')
print(i)
bot.escolher_banco(i)
bot.inserir_cpf(cpf)

saldo_armazenado = bot.armazenar_saldo(cpf)

if saldo_armazenado:
print('Balance stored')
break
else:
print('Balance not found')

t += 1
Вот пример: отпечатки показывают, что значения обновляются правильно.
Что я пробовал
Очистка поля перед отправкой ключей:

Код: Выделить всё

campo_cpf.clear()
Ensuring the field is clickable:

campo_cpf = WebDriverWait(self.driver, 10).until(
ec.element_to_be_clickable((By.NAME, 'documentNumber'))
)
Вставка значения посимвольно с задержкой:

Код: Выделить всё

for char in cpf:
campo_cpf.send_keys(char)
time.sleep(0.1)
Перед отправкой ключей убедитесь, что поле пусто:

Код: Выделить всё

while campo_cpf.get_attribute('value') != '':
campo_cpf.clear()
Ни одна из этих попыток не решила проблему. Автоматизация по-прежнему вводит в поле только первое значение.
Дополнительная информация
Поле, о котором идет речь, идентифицируется By.NAME, 'documentNumber'.
Функция self.simular() вызывается после отправки ключей, но проблема сохраняется, даже если эта функция закомментирована.
Будем очень признательны за любые идеи и предложения. Заранее спасибо!

Код: Выделить всё

your text


Подробнее здесь: https://stackoverflow.com/questions/785 ... irst-value

Вернуться в «Python»