Euhh désolée mais IEdoc reste vide
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 : Sélectionner tout - Visualiser dans une fenêtre à part 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.....
avant IE = nothing
mets
Code : Sélectionner tout - Visualiser dans une fenêtre à part Set doc = IEdoc.getelementsbytagname("table")
Code : Sélectionner tout - Visualiser dans une fenêtre à part Set doc1 = IEdoc.getelementsbytagname("td")et copie d'ecran de chaque doc, puis doc1, puis doc2
Code : Sélectionner tout - Visualiser dans une fenêtre à part 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
Espion Doc1 (erreur dans la boucle du test 2 (Erreur d'exécution 91 : Variable objet ou variable de bloc With non définie))
Espion Doc2 (erreur dans la boucle du test 3 (Erreur d'exécution 13 : Incompatibilité de type))
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 ici
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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
Espion "trouve"
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....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ès
Code : Sélectionner tout - Visualiser dans une fenêtre à part 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'écran
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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
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
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€
et celui du départ que tu cherchais
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???
Seb
Exactement !
Effectivement, le but est de récupérer le solde de tous les comptes
Voici la copie d'écran demandée.
Ok ca roule....
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 : Sélectionner tout - Visualiser dans une fenêtre à part
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 : Sélectionner tout - Visualiser dans une fenêtre à part 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 voir
Code : Sélectionner tout - Visualiser dans une fenêtre à part 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 : Sélectionner tout - Visualiser dans une fenêtre à part
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 :
C pas mal, la copie d'écran en mail privée, non????
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
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
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 ...
merci d'avance
Code html : Sélectionner tout - Visualiser dans une fenêtre à part
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>
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager