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

148
Views
¿Cuáles son algunas de las razones por las que Selenium no encontraría un elemento?

Estoy escribiendo una prueba automatizada para una aplicación basada en web que está codificada en JavaScript y usa el marco Dojo. Puedo encontrar los elementos que quiero que el bot encuentre en las herramientas para desarrolladores usando XPATHS bien definidos, pero la prueba automatizada no encuentra el texto al que lleva XPATH.

Mi código de prueba se parece a esto:

 if verified: verify_detail.set_pass() else: raise AssertionError("Cannot verify detail. Text did not match expected value.")

Y el texto que busco en la interfaz de usuario no está mal escrito en el archivo de configuración.

¿Alguien más tiene este problema? XPATH funciona en Developer Tools pero falla cuando se ejecuta la prueba.

Edición 1:

Creo que he encontrado una pista de lo que está causando este problema. El bot tiene que navegar a un panel llamado panel de detalles. El panel de detalles, cuando se abre, se encuentra encima de otro panel llamado panel de películas. Imagine una lista de títulos de películas y el panel de detalles se abre haciendo clic derecho en la película y seleccionando 'Detalles' en un menú desplegable. Así que básicamente tengo una pila de paneles, y mis consultas XPATH llegan al panel debajo del panel de detalles, que es donde realmente necesito mirar.

¿Alguien más ha tenido este problema?

about 4 years ago · Juan Pablo Isaza
1 answers
Answer question

0

No hay mucha información para continuar, pero me doy cuenta de que es muy difícil ofrecer un ejemplo completo para tales casos.

La razón más común para este tipo de comportamiento es que el elemento en cuestión no está presente inmediatamente en la página, sino que tiene que ocurrir algún procesamiento de JavaScript antes de que aparezca.

La solución más común es usar "esperas implícitas", ver por ejemplo:
https://selenium-python.readthedocs.io/waits.html#esperas implícitas

Tenga en cuenta que esto podría afectar el rendimiento de las pruebas en otros lugares, específicamente al verificar la ausencia de elementos, si está encendido constantemente.

La alternativa obvia es la espera explícita.

Otra herramienta útil para analizar situaciones como esta es establecer puntos de interrupción del depurador en el navegador en los elementos DOM que le interesen, para ver cómo cambia el elemento mientras se carga la página.

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!