Valutazione 4.87/ 5 (100.00%) 5838 voti

Condividi:        

URGENTE!! Aiuto per selezione menu' a tendina di un sito

Vuoi potenziare i tuoi documenti Word? Non sai come si fa una macro in Excel? Devi creare una presentazione in PowerPoint?
Oppure sei passato a OpenOffice e non sei sicuro di come lavorare al meglio?

Moderatori: Anthony47, Flash30005

URGENTE!! Aiuto per selezione menu' a tendina di un sito

Postdi templare77 » 04/08/16 03:50

Ciao Anthony, ciao Flash,

vi dò questo indirizzo http://www.betexplorer.com/next/soccer/?year=2016&month=08&day=05

AIUTOOO mi sono bloccato .... in questa pagina, c'è il palinsetsto delle partite ed un piccolo menù a tendina con due voci: "Kick off times" e "Leagues".

Di default il palinsesto è visualizzato con "Kick off times", mi sarebbe stramaledettamente comodo visualizzarlo selezionando la voce
"Leagues", ma come posso fare in modo che Excel faccia questo?

Grazie!!! :cry: :cry: :cry: :cry: :cry: :cry:
templare77
Utente Junior
 
Post: 98
Iscritto il: 18/04/16 06:26

Sponsor
 

Re: URGENTE!! Aiuto per selezione menu' a tendina di un sito

Postdi Flash30005 » 04/08/16 04:00

L'Id dovrebbe essere questo
id="next-filter-sort"
con opzione valore = 2
Flash
Win7 + Office 2010 Ita
"Fotografica" al servizio dell'immagine

Ottime opportunità di lavoro (part-time o full-time) con guadagni immediati. Info in MP
Avatar utente
Flash30005
Moderatore
 
Post: 8460
Iscritto il: 27/09/07 11:44
Località: Roma +o-

Re: URGENTE!! Aiuto per selezione menu' a tendina di un sito

Postdi templare77 » 04/08/16 06:15

Ciao Flash,
grazie per la celere risposta!!! Perdona il mio limitato comprendonio....non ho capito ancora come potrei sfruttare quel dato per visualizzare il palinsesto come vorrei io.... :oops: :oops:

Anche io avevo trovato quella riga di codice però, come faccio a "dire" tramite codice VBA, apri il palinsesto ordinato per "Leagues"?

Grazie ancora!! :cry: :cry: :cry:
templare77
Utente Junior
 
Post: 98
Iscritto il: 18/04/16 06:26

Re: URGENTE!! Aiuto per selezione menu' a tendina di un sito

Postdi templare77 » 04/08/16 06:53

Forse Forse ho trovato...
navigando nel codice ho trovato due DIV, quello con id="nr-lg" e style="display: none;" dovrebbe fare al caso mio....puoi confermarmi FLASH?
templare77
Utente Junior
 
Post: 98
Iscritto il: 18/04/16 06:26

Re: URGENTE!! Aiuto per selezione menu' a tendina di un sito

Postdi templare77 » 04/08/16 07:02

No...purtroppo quel div compare solo dopo aver selezionato Leagues.......come faccio allora?
templare77
Utente Junior
 
Post: 98
Iscritto il: 18/04/16 06:26

Re: URGENTE!! Aiuto per selezione menu' a tendina di un sito

Postdi Flash30005 » 04/08/16 10:42

templare77 ha scritto:....non ho capito ancora come potrei sfruttare quel dato per visualizzare il palinsesto come vorrei io.... :oops: :oops:

Anche io avevo trovato quella riga di codice però, come faccio a "dire" tramite codice VBA, apri il palinsesto ordinato per "Leagues"?


A me sembra di aver capito che già scarichi delle tabelle da quel sito ma che vorresti scaricare i dati di League

allora invia la macro che hai in maniera tale che apporrò le modifiche (se sarà possibile farlo) con la variante o aggiunta

ciao
Flash
Win7 + Office 2010 Ita
"Fotografica" al servizio dell'immagine

Ottime opportunità di lavoro (part-time o full-time) con guadagni immediati. Info in MP
Avatar utente
Flash30005
Moderatore
 
Post: 8460
Iscritto il: 27/09/07 11:44
Località: Roma +o-

Re: URGENTE!! Aiuto per selezione menu' a tendina di un sito

Postdi templare77 » 04/08/16 11:30

Grazie mille FLASH (di nome e di fatto!!)

Entro nella pagina e scandaglio la tabella con class.name ="result-table lmbzero res-fix-table narrowodds", la quale può essere composta da tre tipi di righe diverse che si alternano...ecco il perchè di tre pezzi di codice con i relativi If riga.classname =

Solo che di default, il valore di quel menù a tendina è "Kick off time", che me li spariglia troppo. In modalità LEAGUES, invece gli incontri sono già aordinati per federazione e orario...vorrei evitarmi di ordinare gli incontri nell'altro modo, perchè lo dovrei fare per federazione ed orario...mi sembra più complicato...


Codice: Seleziona tutto
Set mycoll = ie.document.getElementsByTagName("table")
                     
            For Each tabella In mycoll
                If tabella.classname = "result-table lmbzero res-fix-table narrowodds" Then
                For Each riga In tabella.Rows
                    If riga.classname = "rtitle league-title" Then
                        inizio = InStr(riga.innerHTML, "href=") + 6
                        fine = InStr(riga.innerHTML, "><span") - 1
                        fedhtml = "http://www.betexplorer.com" & Trim(Mid(riga.innerHTML, inizio, fine - inizio))
                       
                        For q = 1 To UBound(myurl)
                           
                                If fedhtml = myurl(q) Then
                                    GoTo salta_riga_s
                                End If
                           
                        Next q
                        GoTo salta_tabella_s
                       
                    ElseIf riga.classname = "nday first-row" Then
                        GoTo salta_tabella_s
                    ElseIf riga.classname = "first-row" Then
                       
                        For Each td In riga.Cells
                            If td.classname = "time first-cell" Then
                                orario = td.innerText
                            ElseIf td.classname = "left nobr" Or td.classname = "left" Then
                                If InStr(td.innerText, "...") > 0 Then
                                    Set mySColl = td.getElementsByTagName("span")
                                    For Each Item In mySColl
                                        incontro = Item.Title
                                    Next Item
                                    Set mySColl = Nothing
                                Else
                                    incontro = td.innerText
                                End If
                            ElseIf td.classname = "score" Then
                                If td.innerText <> "" Then
                                    GoTo salta_riga_s
                                End If
                            ElseIf td.classname = "live-score" Then
                                If td.innerText <> "" Then
                                    GoTo salta_riga_s
                                End If
                            End If
                        Next td
                               
                        'TROVO LA FEDERAZIONE NELL'ARRAY FEDERAZIONI TENENDO PRESENTE CHE SE STO AL GIORNO
                        'ATTUALE, DEVO PRENDERE IN CONSIDERAZIONE L'ORARIO DELLA PARTITA, ALTRIMENTI SE STO AL
                        'GIORNO DOPO, NON TENGO PRESENTE L'ORARIO
                        For w = 1 To UBound(arr_federazioni) - 1
                            If i = 1 Then
                                If Trim(Right(arr_federazioni(w), Len(arr_federazioni(w)) - InStr(arr_federazioni(w), "@"))) = fedhtml And ((Format(Now, "hh:mm")) < orario) Then
                       
                                    fed = Trim(Left(arr_federazioni(w), InStr(arr_federazioni(w), "@") - 1))
                                    ReDim Preserve arr_tutte(indice_tutte)
                                    arr_tutte(indice_tutte) = incontro & " // " & orario & " rif. " & w
                                    indice_tutte = indice_tutte + 1
                                    Exit For
                                   
                                End If
                            Else
                                '*** NO ORARIO
                                If Trim(Right(arr_federazioni(w), Len(arr_federazioni(w)) - InStr(arr_federazioni(w), "@"))) = fedhtml Then
                       
                                    fed = Trim(Left(arr_federazioni(w), InStr(arr_federazioni(w), "@") - 1))
                                    ReDim Preserve arr_tutte(indice_tutte)
                                    arr_tutte(indice_tutte) = incontro & " // " & "DOMANI - " & orario & " rif. " & w
                                    indice_tutte = indice_tutte + 1
                                    Exit For
                                   
                                End If
                            End If
                        Next w
                       
                    ElseIf riga.classname = "strong" Then
                       
                        For Each td In riga.Cells
                            If td.classname = "time first-cell" Then
                                orario = td.innerText
                            ElseIf td.classname = "left nobr" Or td.classname = "left" Then
                                If InStr(td.innerText, "...") > 0 Then
                                    Set mySColl = td.getElementsByTagName("span")
                                    For Each Item In mySColl
                                        incontro = Item.Title
                                    Next Item
                                    Set mySColl = Nothing
                                Else
                                    incontro = td.innerText
                                End If
                            ElseIf td.classname = "score" Then
                                If td.innerText <> "" Then
                                    GoTo salta_riga_s
                                End If
                            ElseIf td.classname = "live-score" Then
                                If td.innerText <> "" Then
                                    GoTo salta_riga_s
                                End If
                            End If
                        Next td
                       
                        'TROVO LA FEDERAZIONE NELL'ARRAY FEDERAZIONI
                        For w = 1 To UBound(arr_federazioni) - 1
                            If i = 1 Then
                                If Trim(Right(arr_federazioni(w), Len(arr_federazioni(w)) - InStr(arr_federazioni(w), "@"))) = fedhtml And ((Format(Now, "hh:mm")) < orario) Then
                       
                                    fed = Trim(Left(arr_federazioni(w), InStr(arr_federazioni(w), "@") - 1))
                                    ReDim Preserve arr_tutte(indice_tutte)
                                    arr_tutte(indice_tutte) = incontro & " // " & orario & " rif. " & w
                                    indice_tutte = indice_tutte + 1
                                    Exit For
                                   
                                End If
                            Else
                                '*** NO ORARIO
                                If Trim(Right(arr_federazioni(w), Len(arr_federazioni(w)) - InStr(arr_federazioni(w), "@"))) = fedhtml Then
                       
                                    fed = Trim(Left(arr_federazioni(w), InStr(arr_federazioni(w), "@") - 1))
                                    ReDim Preserve arr_tutte(indice_tutte)
                                    arr_tutte(indice_tutte) = incontro & " // " & "DOMANI - " & orario & " rif. " & w
                                    indice_tutte = indice_tutte + 1
                                    Exit For
                                   
                                End If
                            End If
                        Next w
                       
                    ElseIf riga.classname = "" Then
                       
                        For Each td In riga.Cells
                            If td.classname = "time first-cell" Then
                                orario = td.innerText
                            ElseIf td.classname = "left nobr" Or td.classname = "left" Then
                                If InStr(td.innerText, "...") > 0 Then
                                    Set mySColl = td.getElementsByTagName("span")
                                    For Each Item In mySColl
                                        incontro = Item.Title
                                    Next Item
                                    Set mySColl = Nothing
                                Else
                                    incontro = td.innerText
                                End If
                            ElseIf td.classname = "score" Then
                                If td.innerText <> "" Then
                                    GoTo salta_riga_s
                                End If
                            ElseIf td.classname = "live-score" Then
                                If td.innerText <> "" Then
                                    GoTo salta_riga_s
                                End If
                            End If
                        Next td
                                             
                        'TROVO LA FEDERAZIONE NELL'ARRAY FEDERAZIONI
                        For w = 1 To UBound(arr_federazioni) - 1
                            If i = 1 Then
                                If Trim(Right(arr_federazioni(w), Len(arr_federazioni(w)) - InStr(arr_federazioni(w), "@"))) = fedhtml And ((Format(Now, "hh:mm")) < orario) Then
                       
                                    fed = Trim(Left(arr_federazioni(w), InStr(arr_federazioni(w), "@") - 1))
                                    ReDim Preserve arr_tutte(indice_tutte)
                                    arr_tutte(indice_tutte) = incontro & " // " & orario & " rif. " & w
                                    indice_tutte = indice_tutte + 1
                                    Exit For
                                   
                                End If
                            Else
                                '*** NO ORARIO
                                If Trim(Right(arr_federazioni(w), Len(arr_federazioni(w)) - InStr(arr_federazioni(w), "@"))) = fedhtml Then
                       
                                    fed = Trim(Left(arr_federazioni(w), InStr(arr_federazioni(w), "@") - 1))
                                    ReDim Preserve arr_tutte(indice_tutte)
                                    arr_tutte(indice_tutte) = incontro & " // " & "DOMANI - " & orario & " rif. " & w
                                    indice_tutte = indice_tutte + 1
                                    Exit For
                                   
                                End If
                            End If
                        Next w
                                         
                    End If
                   
salta_riga_s:

                Next riga
templare77
Utente Junior
 
Post: 98
Iscritto il: 18/04/16 06:26

Re: URGENTE!! Aiuto per selezione menu' a tendina di un sito

Postdi Anthony47 » 04/08/16 23:31

Dopo aver "navigato" all'url indicato e stabilizzato il contenuto (attesa che Ie.Busy diventi Falso e che Ie.ReadyState diventi 4 = document complete), devi impostare su 2 il valore del controllo e poi innescare l'evento "OnChange"; questo lo puoi ottenere con questo codice:
Codice: Seleziona tutto
Ie.document.getelementbyid("next-filter-sort").Value = 2
Ie.document.getelementbyid("next-filter-sort").fireevent ("onchange")

Devi poi ri-attendere Ie.Busy = Falso e Ie.ReadyState = 4; infine puoi importare le tabelle.

Ciao
Anthony
Win7 + Office 2010 Ita; Win 7 + Office 2013 Ita
Xp + Office 2003 Ita
E voi cosa usate? (per istruzioni vedere viewtopic.php?f=26&t=97449)
Avatar utente
Anthony47
Moderatore
 
Post: 13892
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: URGENTE!! Aiuto per selezione menu' a tendina di un sito

Postdi templare77 » 05/08/16 00:15

Sei un mostro!!!
templare77
Utente Junior
 
Post: 98
Iscritto il: 18/04/16 06:26

Re: URGENTE!! Aiuto per selezione menu' a tendina di un sito

Postdi templare77 » 17/08/16 16:41

Ciao Anthony, altro quesito...a questo link http://www.hot-odds.com/DroppingOdds trovi una pagina con diversi menù a tendina. Non riesco a cambiare il valore del menù con etichetta "Select Sport"....

Ho provato con questo codice che mi avevi dato per l'esempio precedente:
Codice: Seleziona tutto
Ie.document.getelementbyid("SportId").Value = 6046

ma non viene visualizzato il valore "Football"....

Poi però non saprei simulare la pressione del pulsante "Search"......can you help me? :oops:
templare77
Utente Junior
 
Post: 98
Iscritto il: 18/04/16 06:26

Re: URGENTE!! Aiuto per selezione menu' a tendina di un sito

Postdi templare77 » 17/08/16 21:23

Ciao Anthony,
credo di aver risolto. In effetti il valore del menù a tendina non cambia però con questo codice, mi carica lo sport che gli impongo io:

Codice: Seleziona tutto
ie.document.getElementById("SportId").Value = 54094
ie.document.getElementById("form_submit").Click
templare77
Utente Junior
 
Post: 98
Iscritto il: 18/04/16 06:26

Re: URGENTE!! Aiuto per selezione menu' a tendina di un sito

Postdi Anthony47 » 18/08/16 01:04

E' la stessa conclusione a cui ero arrivato anche io: il valore risulta corretto, la visualizzazione rimane quella "precedente", la Search funziona regolarmente.

Ciao
Anthony
Win7 + Office 2010 Ita; Win 7 + Office 2013 Ita
Xp + Office 2003 Ita
E voi cosa usate? (per istruzioni vedere viewtopic.php?f=26&t=97449)
Avatar utente
Anthony47
Moderatore
 
Post: 13892
Iscritto il: 21/03/06 16:03
Località: Ivrea


Torna a Applicazioni Office Windows


Topic correlati a "URGENTE!! Aiuto per selezione menu' a tendina di un sito":

foto su sito web
Autore: sic58
Forum: Sicurezza e Privacy
Risposte: 0

Chi c’è in linea

Visitano il forum: Nessuno e 14 ospiti