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

353
Vistas
Acceda a la tabla oculta dentro de un iframe usando python y selenium

Estoy tratando de acceder a la tabla de anuncios desde esta página web . La tabla está en un iframe, cuyo contenido no es visible en la fuente cuando se carga la página. La tabla solo aparece en la fuente si inspecciono el elemento "dos veces". Una vez que la tabla esté visible, puedo ejecutar el siguiente código javascript a través de la consola de Chrome para acceder a la tabla.

 document.getElementsByTagName('html')[0].getElementsByTagName('body')[0].getElementsByTagName('section')[4].getElementsByTagName('article')[0].getElementsByTagName('div')[2].getElementsByTagName('announcement_data')[0].getElementsByTagName('table')[0].getElementsByTagName('tbody')[0].getElementsByTagName('tr')

Sin embargo, estoy luchando por encontrar una manera de hacer que los elementos dentro del iframe sean visibles mediante programación usando python y selenium. He intentado cambiar al iframe pero eso no ha ayudado.

 seq = driver.find_elements_by_tag_name('iframe') print("No of frames present in the web page are: ", len(seq)) iframe = driver.find_elements_by_tag_name('iframe')[0] driver.switch_to.frame(iframe) table = driver.execute_script("return document.getElementsByTagName('html')[0].getElementsByTagName('body')[0].getElementsByTagName('section')[4].getElementsByTagName('article')[0].getElementsByTagName('div')[2].getElementsByTagName('announcement_data')[0].getElementsByTagName('table')[0].getElementsByTagName('tbody')[0].getElementsByTagName('tr');")

Recibo el siguiente error si intento ejecutar el código anterior en mi cuaderno jupyter:

 No of frames present in the web page are: 4 Error getting the length of the table: list index out of range

Se agradecería cualquier sugerencia para acceder a la longitud y el contenido de la tabla.

Gracias.

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

0

Debería poder raspar la URL del iframe mediante programación y luego cargarla como una nueva página en Selenium.

https://www.asx.com.au/asx/v2/statistics/todayAnns.do es la URL del iframe.

Para hacerlo programáticamente prueba algo como esto:

 url = driver.find_element_by_class_name('external-form__iframe default').get_attribute("src") driver.get(url)
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