Voglio raschiare tutti i dati di una pagina implementata da uno scroll infinito. Il seguente codice Python funziona.Come aspettare che la pagina venga caricata con Selenium per Python?
for i=1:100
driver.execute_script("window.scrollTo(0, document.body.scrollHeight);")
time.sleep(5)
Questo significa che ogni volta che ho scorrere fino in fondo, ho bisogno di aspettare 5 secondi, che è in genere sufficiente per la pagina per completare il caricamento dei contenuti appena generato. Ma questo potrebbe non essere efficiente nel tempo. La pagina potrebbe terminare il caricamento dei nuovi contenuti entro 5 secondi. Come posso rilevare se la pagina ha finito di caricare i nuovi contenuti ogni volta che si scorre verso il basso? Se riesco a rilevare questo, posso scorrere di nuovo verso il basso per vedere più contenuti una volta che so che la pagina ha terminato il caricamento. Questo è più efficiente nel tempo.
Potrebbe essere utile conoscere un po 'di più sulla pagina. Gli elementi sono sequenziali o prevedibili? Puoi aspettare che gli elementi vengano caricati controllando visiblity usando id o xpath – user2272115
Sto analizzando la seguente pagina: http://www.pinterest.com/cremedelacrumb/yum/ – apogne
possibile duplicato di [Rileva attendibilmente il carico o il timeout della pagina, selenio 2] (http://stackoverflow.com/questions/18729483/reliably-detect-page-load-or-time-out-selenium-2) – kenorb