Forum |  HardWare.fr | News | Articles | PC | Prix | S'identifier | S'inscrire | Aide | Shop Recherche
930 connectés 

 



 Mot :   Pseudo :  
 
 Page :   1  2
Page Suivante
Auteur Sujet :

Piloter un site Web à partir de VBA

n°2273561
Marc L
Posté le 16-01-2016 à 11:55:31  profilanswer
 

Reprise du message précédent :
 
            Au lieu de piloter IE en VBA, tu pourrais voir du côté de AutoIt comme évoqué dans ce sujet


Message édité par Marc L le 16-01-2016 à 11:59:47
mood
Publicité
Posté le 16-01-2016 à 11:55:31  profilanswer
 

n°2273904
amateursf
Posté le 20-01-2016 à 13:59:43  profilanswer
 

Bonjour Marc,
 
J'espère que je ne te casse pas les pieds. Ce qui m'amène c'est que je n'arrive pas à synchroniser les réponses du site paris-turf avec mon code. J'ai soit une erreur 424, soit une erreur 91, soit une erreur 438. Ces erreurs se produisent aléatoirement un peu n'importe où et pas forcément de manière récurrente.
Ce que tu m'as appris semble ne pas fonctionner. Voici mon code

Code :
  1. Sub titi()
  2. Dim IEdoc As Object
  3. Dim DOCelement As Object
  4. Dim Tablo
  5. Set ie = CreateObject("InternetExplorer.Application" )
  6. ie.Navigate ("http://www.paris-turf.com/menu/courses/2016-01-21" )
  7. ie.Visible = True
  8. Reunion = 1
  9. Course = 1
  10. While ie.Busy Or ie.ReadyState < 4:  DoEvents:  Wend
  11. Set IEdoc = ie.document
  12. Set DOCelement = IEdoc.GetElementsByTagName("H3" )(Reunion - 1).GetElementsByTagName("A" )(0)
  13. Ztra = DOCelement.innerText
  14. Ztra = DOCelement.href
  15. L = Len(Ztra)
  16. For X = L To L - 10 Step -1
  17.    If Mid(Ztra, X, 1) = "-" Then
  18.       Exit For
  19.    End If
  20. Next X
  21. While Not IsObject(IEdoc.GetElementsByTagName("H3" )(Reunion - 1)): DoEvents:  Wend
  22. IEdoc.GetElementsByTagName("H3" )(Reunion - 1).GetElementsByTagName("A" )(0).Click
  23. Iden = "reunion-" & Mid(Ztra, X + 1, Len(Ztra) - X)
  24. 'Application.Wait Now + TimeValue("00:00:04" )
  25. If Course = 1 Then
  26.    Course = 0
  27. Else:
  28.    Course = Course - 1
  29.    Course = Course * 6
  30. End If
  31. While Not IsObject(IEdoc.all(Iden)): DoEvents:  Wend
  32. Set DOCelement = IEdoc.GetElementById(Iden).GetElementsByTagName("A" )(Course)
  33. IEdoc.all(Iden).GetElementsByTagName("A" )(Course).Click
  34. 'Application.Wait Now + TimeValue("00:00:06" )
  35. While Not IsObject(IEdoc.all("race-tables-panel" )): DoEvents:  Wend
  36. IEdoc.all("race-tables-panel" ).GetElementsByTagName("A" )(2).Click


Les erreurs se produisent à la ligne 15, 25, 36 ou 41 selon l'humeur du moment et revêtent l'une des 3 valeurs d'erreur.
Plus grave, lorsque je programme l'attente de mon "iden" à la ligne 35, il ne trouve même pas la TABLE !!! (mis en évidence par l'observation des variables locales ).
Par contre, la temporisation par un WAIT fonctionne... elle reste cependant aléatoire car cela dépend de la charge du site.
En quelques mots, après 3 jours de recherche, je donne ma langue au chat.
J'ai survolé "AutoIt", mais cela remet tout le travail que j'ai déjà réalisé en cause !!!
Merci de tes conseils
A te lire

n°2273963
Marc L
Posté le 20-01-2016 à 23:42:05  profilanswer
 

 
           Bonsoir,
 
           de mon côté cela bloque systématiquement à la ligne n°36 !
           Après le clic de la ligne n°25, il manque l'attente de la mise à jour de la page :
 
                  While IEdoc.ReadyState <> "interactive":  DoEvents:  Wend
 
           Normalement lorsqu'une page est à jour son statut passe à "complete" mais celle-ci reste bloquée sur interactive


Message édité par Marc L le 20-01-2016 à 23:42:37
n°2274061
amateursf
Posté le 22-01-2016 à 09:12:16  profilanswer
 

Merci Marc.
A une prochaine peut-être
Bonne journée

mood
Publicité
Posté le   profilanswer
 

 Page :   1  2
Page Suivante

Aller à :
Ajouter une réponse
 

Sujets relatifs
[Excel/VBA] Pivot table - Filtrer automatiquement sur une liste d'IDCréer un site internet
[EXCEL/VBA] Automatiser remplissage de fichier[EXCEL ou VBA] Chercher une valeur parmi un ensemble de valeur
Intégration d'une partie d'un site externe dans mon siteapprendre le php meilleur site?
Projet de Création d'un site web Développeur + Graphiste designere voudrais lancer plusieurs script Perl à partir d'un autre script Per
CMT DEV. Un site dynamique indexéQue pensez vous de mes sources pour protéger un site Web ?
Plus de sujets relatifs à : Piloter un site Web à partir de VBA


Copyright © 1997-2018 Hardware.fr SARL (Signaler un contenu illicite) / Groupe LDLC / Shop HFR