Valutazione 4.87/ 5 (100.00%) 5838 voti

Condividi:        

Ie.readyState sempre in interactive_state

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

Ie.readyState sempre in interactive_state

Postdi templare77 » 01/09/16 14:53

Ciao Anthony, questa è la prima volta che mi capita una cosa del genere.... Sempre nel sito nel quale estraggo i dati, all'improvviso noto che la macro, non riesce ad uscire dal loop che controlla il ReadyState.... Controllo e vedo che la pagina sembra completamente scaricata, ma la proprietà readyState è settata sempre su Interactive.... Cosa vorrebbe dire? Dipende da me o dal server che ospita il sito? Grazie come sempre per la disponibilità!
templare77
Utente Junior
 
Post: 99
Iscritto il: 18/04/16 06:26

Sponsor
 

Re: Ie.readyState sempre in interactive_state

Postdi templare77 » 01/09/16 23:01

Ciao Anthony, ho letto che lo stato "Interactive", permette l'interazione dell'utente con la pagina, anche se quest'ultima non è completamente scaricata. A me (ad occhio nudo) sembra che lo sia....poi non so se c'è qualche script che crea questa situazione, che però tengo a dire, sembra essere stata temporanea...per evitare in futuro il ripetersi, avevo pensato ad una cosa del genere:

Codice: Seleziona tutto
Set ie = CreateObject("InternetExplorer.Application")
With ie
    .navigate link_incontro
    .Visible = False
    Do While .Busy: DoEvents: Loop
   
    If .readyState = 3 Then
        GoTo esci_loop
    Else
        Do While .readyState <> 4: DoEvents: Loop
    End If
   
End With
templare77
Utente Junior
 
Post: 99
Iscritto il: 18/04/16 06:26

Re: Ie.readyState sempre in interactive_state

Postdi Anthony47 » 05/09/16 02:14

La doumentazione che si riesce a consultare (vedi ad esempio https://msdn.microsoft.com/en-us/librar ... 5%29.aspx) dice che se ReadyState = 3 allora "Object is interactive, but not all of its data is available".
A me e' capitato di aspettare 2 minuti prima che ReadyState andasse a posto, ma il giorno dopo la stessa operazione durava 2 secondi...
L'unico suggerimento che mi sento di dare e' di controllare la lunghezza del Document; se si stabilizza prima che ReadyState > 4 allora si puo' scommettere che e' tutto a posto.

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: 13894
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: Ie.readyState sempre in interactive_state

Postdi templare77 » 06/09/16 00:31

Grazie Anthony, però a questo indirizzo, http://www.hot-odds.com/Game/2253208/Altrincham-vs-Chorley, la seguente istruzione,
Codice: Seleziona tutto
Set body = ie.document.getelementsbytagname("body")
, mi dà errore 13 "Tipo non corrispondente"....non riesco a capire perchè....
templare77
Utente Junior
 
Post: 99
Iscritto il: 18/04/16 06:26

Re: Ie.readyState sempre in interactive_state

Postdi Anthony47 » 06/09/16 01:47

Non so come hai provato, ma a me quella riga, usata nel seguente contesto, ha funzionato regolarmete:
Codice: Seleziona tutto
With ie
    .navigate myURL
    .Visible = True
'Stop                '*** VEDI Testo
    Do While .Busy: DoEvents: Loop    'Attesa not busy
    Do While .readyState <> 4: DoEvents: Loop 'Attesa documento
End With
'
Set body = ie.document.getElementsByTagName("body")

Hai forse dichiarato la variabile "body"? Come?
Comunque non e' mai una buona abitudine usare una parola chiave (Body e una proprieta' dell' oggetto HTMLDocument) come nome di variabile; io faccio largo uso del prefisso my, es myBody.

Inoltre il "body" e' indirizzabile direttamente, appunto tramite la proprieta' body:
Codice: Seleziona tutto
set Mybody = IE.document.body

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: 13894
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: Ie.readyState sempre in interactive_state

Postdi templare77 » 06/09/16 03:41

1000 1000 1000 grazie! Più avanti nel codice avevo ripetuto la stessa istruzione :oops: :oops: ....forse si incasinava per quello....
templare77
Utente Junior
 
Post: 99
Iscritto il: 18/04/16 06:26


Torna a Applicazioni Office Windows


Topic correlati a "Ie.readyState sempre in interactive_state":


Chi c’è in linea

Visitano il forum: Nessuno e 9 ospiti