Ciao, rieccomi con l'ennesimo quesito su selenium.
Il problema è che vorrei prendere visione di una serie di pagine , per la precisione da 1 a 14 , ora ho spolverato una vecchia impostazione di qualche anno fa trovata qui sul forum, ma continua a presentare solo la prima pagina e non anche le successive. Dove sbaglio ?
aggiungo Html e miei tentativi
miei tentativi :
1 ) ripete sempre la prima pagina , ed è molto lento .
2) Questo codice ripete per 14 volte la stessa pagina (prima)
'scarica tutte le pagine
Il problema è che vorrei prendere visione di una serie di pagine , per la precisione da 1 a 14 , ora ho spolverato una vecchia impostazione di qualche anno fa trovata qui sul forum, ma continua a presentare solo la prima pagina e non anche le successive. Dove sbaglio ?
aggiungo Html e miei tentativi
miei tentativi :
1 ) ripete sempre la prima pagina , ed è molto lento .
Visual Basic:
'scarica tutte le pagine
For i = 1 To 14 'n. pagine
Set table = Dd.FindElementByCss("#tableResults")
' Itera sulle righe della tabella By forumexcel
For Each row In table.FindElementsByTag("tr")
c = 1
' Itera sulle celle (td o th)
For Each cell In row.FindElementsByTag("td")
Cells(r, c).Value = cell.Text
c = c + 1
Next cell
r = r + 1
Next row
' On Error Resume Next ' Gestione errore se non trova il pulsante
Dim ul As Object, li As Object
Set ul = Dd.FindElementByCss(".m-pagination__nav")
For Each li In ul.FindElementsByCss("li")
If li.FindElementByCss("a").Attribute("title") = "next" Then
li.Click
Exit For
End If ' On Error GoTo 0
Dd.Wait 1000 ' Pausa per il caricamento
r = Cells(Rows.Count, 1).End(xlUp).row - 1
Next li
Next
End With
2) Questo codice ripete per 14 volte la stessa pagina (prima)
'scarica tutte le pagine
Visual Basic:
For i = 1 To 14 'n. pagine
Set table = Dd.FindElementByCss("#tableResults")
' Itera sulle righe della tabella
For Each row In table.FindElementsByTag("tr")
c = 1
' Itera sulle celle (td o th)
For Each cell In row.FindElementsByTag("td")
Cells(r, c).Value = cell.Text
c = c + 1
Next cell
r = r + 1
Next row
On Error Resume Next ' Gestione errore se non trova il pulsante
Dd.FindElementByCss("li.m-pagination__item:nth-child(i)").Click
On Error GoTo 0
Dd.Wait 1000 ' Pausa per il caricamento
r = Cells(Rows.Count, 1).End(xlUp).row - 1
Next i
End With
Dd.Quit
Ultima modifica:
