Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

344
Views
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 answers
Answer question

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 Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!