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

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

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 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!