Euhh désolée mais IEdoc reste vide :?
Version imprimable
Euhh désolée mais IEdoc reste vide :?
mets un point d'arrêt sur la fin de ta sub
surEt redit moi car IEDOC n'est pas vide avant ça....Code:Set IE = Nothing
Le set ie = nothing, en gros veux dire que tu vides ta requête
Voici ce qu'il y a dans IEdoc dans le premier test.
donc IEDoc n'est pas vide.....:lol:
avant IE = nothing
mets
Code:Set doc = IEdoc.getelementsbytagname("table")
Code:Set doc1 = IEdoc.getelementsbytagname("td")
et copie d'ecran de chaque doc, puis doc1, puis doc2Code:Set doc2 = IEdoc.getelementsbytagname("div")
stp
Je ne te répondrais pas forcément ce soir, car la fatigue me gagne...;)
Oui mille excuses. Les + n'apparaissant que si on clique sur le nom de l'espion... J'attendais comme une c...
Espion Doc
Pièce jointe 198887
Espion Doc1 (erreur dans la boucle du test 2 (Erreur d'exécution 91 : Variable objet ou variable de bloc With non définie))
Pièce jointe 198888
Espion Doc2 (erreur dans la boucle du test 3 (Erreur d'exécution 13 : Incompatibilité de type))
Pièce jointe 198903
Pas de message box :(
Mille mercis pour ta patience...
Salut Hexa,
Explication:
dans le premier doc:
3 items donc ta page html est constituée de 3 balises <Table/>
dans le second doc1:
54 items portant sur la balise <td/>
et enfin
467 items pour la balise <div/>
Donc de là, il faut que l'on navigue dans chaque items...
on va commencer, en premier lieu à faire des tests avec le 1er doc
colle ce code à la place de l'ancien:
mets des points d'arrêt seulement sur la ligne de trouve et iciCode:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 'Récupération du solde des comptes 'Essai 1 Set doc = IEdoc.getelementsbytagname("table") For i = 0 To doc.Length - 1 If doc(i).classname = "GGRIAO0BAUD" Then 'GGRIAO0BAUD Set trouve = doc(i).getelementsbytagname("td") 'Espion + sur "trouve" For a = 0 To trouve(a).Length - 1 If trouve(a).classname = "GGRIAO0BOTD" Then Set ici = trouve(a) 'Espion sur ICI MsgBox "c'est bon" End If Next a MsgBox "trouvé" End If Next i
Donne moi par la suite les copies d'écran sur trouve et ici
A+
seb
Salut :D
Espion "trouve"
Pièce jointe 198907
J'ai une erreur d'exécution 438 Propriété ou méthode non gérée par cet objet à la ligne :
For a = 0 To trouve(a).Length - 1
Du coup je ne peux pas te mettre l'espion "ici".
Je vais sûrement dire une grosse bêtise mais tant pis ! Il faut bien débuter un jour...
Ne serait-il pas possible de scanner la page à la recherche de toutes les occurrences qui commencent par <div class="GGRIAO0BBAC"> et qui se terminent par €</div> en récupérant ce qui se trouve entre les deux ???
cela serai trop simple....;)Citation:
Ne serait-il pas possible de scanner la page à la recherche de toutes les occurrences qui commencent par <div class="GGRIAO0BBAC"> et qui se terminent par €</div> en récupérant ce qui se trouve entre les deux ???
On le fait déjà en partie avec la recherche des balises <div/> après une fois trouvé le bon <div> on peut recherché cette partie €</div>....
On va continué dans la lancée, étape par étape, cela te montre comment il faut procédé...si tu veux bien...;)
bon dans "trouve"
tu as 54 items avec une balise "td", bref on verra aprèsCode:trouve = doc(i).getelementsbytagname("td")
Essai ça:
Oublies pas le point d'arrêt sur Nothing et et sur set blabla et s'il trouve "set blabla", mets un espion sur blabla et copie d'écranCode:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91 Sub PremierIE() 'Déclaration des variables Dim IE As Object Dim IEdoc As Object Dim DOCelement As Object 'Initialisation des variables Set IE = CreateObject("InternetExplorer.Application") 'Affichage de la fenêtre IE IE.Visible = True 'Chargement de la page web IE.Navigate ("https://wwws.linxo.com/auth.page#Login") ' attente de fin de chargement Do Until IE.ReadyState = 4 DoEvents Loop 'On pointe le membre Document Set IEdoc = IE.document Sub PremierIE() 'Déclaration des variables Dim IE As Object Dim IEdoc As Object Dim DOCelement As Object 'Initialisation des variables Set IE = CreateObject("InternetExplorer.Application") 'Affichage de la fenêtre IE IE.Visible = True 'Chargement de la page web IE.Navigate ("https://wwws.linxo.com/auth.page#Login") ' attente de fin de chargement Do Until IE.ReadyState = 4 DoEvents Loop 'On pointe le membre Document Set IEdoc = IE.document 'Tempo de 2 secondes Application.Wait Now + TimeValue("0:00:01") 'login Set DOCelement = IEdoc.getElementsByName("username").Item DOCelement.Value = "Monlogin" 'Tempo de 2 secondes Application.Wait Now + TimeValue("0:00:01") 'password Set DOCelement = IEdoc.getElementsByName("password").Item DOCelement.Value = "Monmotdepasse" DOCelement.Select 'Tempo de 2 secondes Application.Wait Now + TimeValue("0:00:01") 'connexion Set DOCelement = IEdoc.getelementsbytagname("button")(0) 'Forms(0) DOCelement.Click ' attente de fin de chargement Do Until IE.ReadyState = 4 DoEvents Loop 'Récupération du solde des comptes 'Essai 1 Set doc = IEdoc.getelementsbytagname("table") Set doc2 = IEdoc.all For a = 0 To doc2.Length - 1 If doc2(a).classname = "GGRIAO0BBAC" Then Set blabla = doc2(a) 'espion sur blabla End If Next a 'On libère la variable IE Set IE = Nothing End Sub
s'il ne trouve rien remplace "GGRIAO0BBAC" par "GRRIAO0BGAC" et redit moi
Vu d'ici c pas simple :roll:
seb
Et voila le contenu de l'espion de blabla. J'ai du scinder en 3 tellement c'est long.
Sur la première partie je crois que c'est ce que tu cherches. InnerText 8-)
Pièce jointe 198927
Pièce jointe 198928
Pièce jointe 198929
Et bah voilà on avance
oui c bien dans l'innertext ce que tu cherches....non????
par contre regarde
innertext de ce que tu viens de trouver = 4773.78€
Pièce jointe 198930
et celui du départ que tu cherchais
Pièce jointe 198931
Faut-il que tu récupères toutes les "sommes" (ici 4773.78€) dans chaque div (donc chaque comptes bancaires de banques différentes), ou juste une seule???
Pièce jointe 198932
Seb
Exactement !
Effectivement, le but est de récupérer le solde de tous les comptes :oops:
Voici la copie d'écran demandée.
Pièce jointe 198933
Ok ca roule....:mouarf:
on va donc pour chaque set blabla=bla(a), mettre transférer dans un tableau. Mais pour cela il faudra juste mettre un point d'arrêt sur nothing afin qu'il finisse la boucle for a. et me mettre un espion sur tablo_compte avec copie écran dès qu'il arrive sur nothing...
remplace ancien code par ceci:
Code:
1
2
3
4
5
6
7
8
9
10 Set bla = IEdoc.all For a = 0 To bla.Length - 1 If bla(a).classname = "GGRIAO0BBAC" Then Set blabla = bla(a) 'espion sur blabla x = x + 1 ReDim Preserve tablo_compte(0 To x) tablo_compte(x) = bla(a).innertext 'espion sur tablo_compte stp End If Next a
J'ai un message d'erreur variable non définie :
Comment dois-je la déclarer ?Code:ReDim Preserve tablo_compte(0 To x)
Oui pardon c vrai
en haut avant ou après ton sub
de plus peux-tu rajouter cela dans la procédure après l'autre code pour voirCode:dim tablo_compte()
et comme les autres copie écran sur titre juste la partie innertext, n'oublis pas le point d'arrêt sur set titre
Code:
1
2
3
4
5
6 Set tit = IEdoc.all For b = 0 To tit.Length - 1 If tit(b).classname = "GGRIAO0BEAC" Then Set titre = tit(b) End If Next b
Je t'ai donc adressé un mail avec le tablo_compte (données privées).
Voila la copie d'écran sur titre laissant apparaître innertext :
Pièce jointe 198958
C pas mal, la copie d'écran en mail privée, non???? :P
C'est ce que tu voulais?
Maintenant on va essayer de récupérer le nom de chaque compte comme ça tu sera à quel solde cela appartient, enfin si tu le veux?
Le seul truc c'est l'innertext, de l'image ci dessus qui est vide....c pas cool...:(....à revoir
redonne moi la même saisi d'écran mais avec plus bas le title, stp
Seb
Oui effectivement, tout y est !
Je dois dire qu'il va me falloir un temps certain avant d'intégrer tout ce que tu m'as faire faire...
Voila la page complète de "titre"
http://www.developpez.net/forums/images/attach/jpg.gif
C normal la première fois ca fait toujours ça :ptdr::ptdr::ptdr::ptdr:
Mais par contre je n'ai pas la partie avec title???
Mais à regarder, ca na pas l'air bon...a voir
Seb
Voila la suite. Humm tu m'en vois désolée :oops:
Pièce jointe 198964
Désolé de te demander cela encore, mais peux-tu m'envoyer encore une fois, le code HTML, en copie d'écran de ce type que tu as déjà envoyé précédemment ...:roll:
merci d'avanceCode:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 <div class="GGRIAO0BGAC"> <div class="GGRIAO0BFAC"> <div class="GGRIAO0BEAC" title="Crédit Mutuel">Crédit Mutuel</div> <div class="GGRIAO0BCAC" title="Crédit Mutuel - Centre Est Europe">Crédit Mutuel - Centre Est Europe</div></div> <div class="GGRIAO0BAAC"> <div class="GGRIAO0BBAC">1 149,88 </div> <div class="GGRIAO0BMAC">il y a 10 heures</div></div> <div class="GGRIAO0BLAC"></div></div> <div class="GGRIAO0BGAC"> <div class="GGRIAO0BFAC"> <div class="GGRIAO0BEAC" title="Société Générale">Société Générale</div> <div class="GGRIAO0BCAC" title="Société Générale (Particuliers)">Société Générale (Particuliers)</div></div> <div class="GGRIAO0BAAC"> <div class="GGRIAO0BBAC">987,82 </div> <div class="GGRIAO0BMAC">il y a 10 heures</div></div> <div class="GGRIAO0BLAC"></div></div>