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

220
Views
Selenium: desplácese hasta la parte inferior de un div de carga dinámica

Estoy tratando de usar selenio para raspar una página web, y uno de mis elementos carga dinámicamente una cantidad finita de contenido (es decir, no como Twitter, donde puedes seguir desplazándote) cuando me desplazo hasta el final.

Ahora podría simplemente hacer algo como

 var scrollbar = document.getElementsByClassName("dataTables_scrollBody")[0] var last = -1; var curr = scrollbar.scrollHeight; while (curr != last) { last = curr; scrollbar.scrollTop = curr; curr = scrollbar.scrollHeight; }

Y de hecho, eso es lo que estoy haciendo. Sin embargo, la operación de carga real en la tabla de datos lleva tanto tiempo que este script finaliza cuando finaliza la carga, lo que significa que solo llego a la mitad de la barra de desplazamiento.

¿Cuál es una buena manera de asegurarme de que me he desplazado hasta el final de la barra de desplazamiento?


Esta pregunta es diferente de Scroll to bottom of div? porque no tengo acceso al HTML sin procesar, y es diferente de Desplazarse automáticamente al final de la página porque mi página está cargando contenido dinámicamente.

Tal vez podría forzar una carga ajax de todo el contenido del panel, pero no sé cómo hacerlo, y no quiero recorrer kilómetros de código minificado para descubrir cómo lo hace el propietario de la página.

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

0

Aquí hay una solución fea:

 scroll_elem = document.getElementsByClassName("dataTables_scrollBody")[0]; table_elem = document.getElementsByClassName("dataTable")[0]; function scrollToBottom() { scroll_elem .scrollTop = scroll_elem .scrollHeight; }; new ResizeObserver(scrollToBottom).observe(table_elem)

Básicamente, cómo funciona esto es que tenemos un objeto que observa el elemento del que queremos desplazarnos hasta la parte inferior. Si y cuando cambia de tamaño, se desplaza instantáneamente a la parte inferior de la nueva ventana. Esto funciona lo suficientemente bien, entonces podría usar la función de suspensión recomendada por KunduK en los comentarios para esperar a que se complete el proceso

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!