Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

222
Visualizações
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 Respostas
Responde à pergunta

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 Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda