Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

347
Vistas
Cómo cambiar el valor de un menú desplegable de entrada de solo lectura
<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.

desplegable

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!

about 4 years ago · Juan Pablo Isaza
1 Respuestas
Responde la pregunta

0

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.

about 4 years ago · Juan Pablo Isaza Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda