Python - Ayuda Selenium - Python - ScrollBox

 
Vista:

Ayuda Selenium - Python - ScrollBox

Publicado por NICOLAS GONZALEZ (2 intervenciones) el 24/09/2020 21:39:31
Hola, les agradeceria su ayuda ya que estoy haciendo una aplicación usando Selenium WebDriver, al hacer ScrollIntoView en un scrollbox, hace el "scroll" perfectamente, pero únicamente guarda los datos de la última página, es decir, cuando termina de hacer el scroll, captura esa "pantalla"... Se deja por el camino todos los datos durante el scroll... Mi código es el siguiente:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
scroll_box = self.driver.find_element_by_xpath(LINK DE SCROLLBOX')
last_ht, ht = 0, 1
while last_ht != ht:
    last_ht = ht
    sleep(1)
    ht = self.driver.execute_script("""
        arguments[0].scrollTo(0, arguments[0].scrollHeight);
        return arguments[0].scrollHeight;
        """, scroll_box)
links = scroll_box.find_elements_by_tag_name('a')
names = [name.text for name in links if name.text != '']
# close button
self.driver.find_element_by_xpath("/html/body/div[4]/div/div/div[1]/div/div[2]").click()
return names

Por si no he sido claro, me aclaro:
Supongamos que el scrollbox tenga los datos:
hola
a
todos
como
estan
espero
que
bien

Es de esperar que capture todos esos datos, en realidad al finalizar el scrollbox está cargado con los datos:
"espero que bien"... Me faltan todos los datos anteriores. (Esto es a modo de ejemplo).
Gracias y saludos a todos.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder