Проблема связана с функцией, которая вводит 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