<input readonly="" value="7 days" style="cursor: pointer;">Este es el único html (sin etiqueta de selección, etc.) para el menú desplegable, que se encuentra dentro de un div.

Quiero cambiar el valor de "7 días" a "Fecha personalizada" en mi secuencia de comandos de python/selenium. Con una etiqueta de entrada normal, habría hecho eso:
date = driver.find_element_by_xpath('/html/body/.../div/input') date.send_keys('Custom date')Sin embargo, no funciona, porque es de solo lectura. Así que probé estos dos:
driver.execute_script("document.getElementsByTagName('input')[1].removeAttribute('readonly')") #and send key driver.execute_script("document.getElementsByTagName('input')[1].setAttribute('7 days', 'Custom Date')")Esto tampoco funcionó, así que traté de imitar las teclas TAB y ENTER:
date.send_keys(Keys.TAB) date.send_keys(Keys.TAB) date.send_keys(Keys.ENTER)Nunca hizo el segundo TAB y tampoco presionó ENTER. Sin embargo, creo que esta es la mejor apuesta, ya que lo he visto funcionar para alguien en un video. ¡Sería extremadamente feliz, si usted pudiera ayudarme!
Ok perdon por la falta de descripcion y gracias a todos ustedes, el comentario de Frenchy me puso a buscar horas nuevamente y encontre el problema.
Como dije anteriormente en mi pregunta, simplemente no había forma de que el valor/clave se enviara directamente a esa etiqueta de entrada. Entonces, como sugirió Frenchy, miré más a fondo el código HTML, una vez que hice que apareciera el menú desplegable.
Y había un div que apareció en el DOM, una vez que el menú desplegable estaba allí. div que aparece Luego copié el xpath e intenté hacer clic en el lapso, pero primero cuando inspeccioné el elemento en mi pestaña de Chrome normal, recibí "Mensaje: no hay tal elemento: no se puede localizar el elemento:". Luego hice lo mismo en mi pestaña de selenio automatizada y obtuve el xpath correcto. No sé cuál fue el motivo (podría ser culpa mía), pero pensé que valdría la pena señalarlo.
date = driver.find_element_by_xpath('/html/body/.../div/input') date.click() #dropdown appears customDate = driver.find_element_by_xpath('/html/body/...div/ul/li[4]/button/div/span') customDate.click()Esto funciona bien ahora y también tiene sentido, debería haber visto el div que aparece antes.