Tengo una aplicación que usa un calendario de Ant Design .
El selector de fecha parece ser un atributo de solo lectura. Necesito interactuar con este elemento de Selenium en Python.
Para evitarlo, probé el siguiente código:
self.driver.execute_script("document.querySelector('.ant-calendar-picker-input.ant-input').readOnly = false") self.driver.execute_script("document.querySelector('.ant-calendar-picker-input.ant-input').value ='12-12-2021'") self.driver.execute_script("document.querySelector('.ant-calendar-picker-input.ant-input').readOnly = true")Con este código, la fecha no se actualiza (sí cambia en la interfaz de usuario, pero el atributo HTML de la fecha está vacío). ¿Qué estoy haciendo mal?
Aquí hay capturas de pantalla del código HTML:
Después de que la fecha se actualice (manualmente): 
Gracias
Según el HTML que ha compartido, le advise que use el siguiente código para actualizar el date picker field , no necesita hacer click en el selector de fecha, simplemente ejecute el código JS a continuación.
wait = WebDriverWait(driver, 20) date_to_fill = wait.until(EC.element_to_be_clickable((By.CSS_SELECTOR, "span#codigo_fecha_vencimiento input.ant-calendar-picker-input.ant-input"))) driver.execute_script("arguments[0].setAttribute('value', '15-09-2021')", date_to_fill)Importaciones:
from selenium.webdriver.support.ui import WebDriverWait from selenium.webdriver.common.by import By from selenium.webdriver.support import expected_conditions as EC