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

223
Vistas
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 Respuestas
Responde la pregunta

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