Bonjour,
Je suis sur un projet qui permet d'automatiser la création d'annonce sur le site du bon coin grâce à un module qui rempli automatiquement les champs sur le site.
Aujourd'hui j'arrive à remplir tous les champs mais lorsque je fais la validation des informations de façon manuelle sur le site internet, la page semble se rafraichir et supprimer toutes les infos envoyées auparavant.
Voici mon code
Ensuite une fois toutes les infos renseignées, je les valides manuellement (pour permettre à l'utilisateur de les vérifier) et c'est à ce moment que la page redevient vierge.
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 ' A PLACER DANS UN MODULE STD Sub test () Dim IE As New InternetExplorer Dim InputLBCZoneTexteCP As HTMLInputElement Dim CatégorieLBC As HTMLSelectElement Dim IEDoc As HTMLDocument 'Chargement d'une page Web IE.navigate "http://www2.leboncoin.fr/ai/form/1" 'On attend le chargement complet de la page Do While IE.readyState <> READYSTATE_COMPLETE DoEvents Loop 'On pointe le membre Document Set IEDoc = IE.Document IE.Visible = True 'RENSEIGNEMENT DE LA CATEGORIE (Location, vente immo, ...) 'On défini le troisième objet (Catégorie) Set CatégorieLBC = IEDoc.all("Category") 'On sélectionne l'index de la combobox CatégorieLBC.selectedIndex = 13 'Sélection de la catégorie Location 'On attend la fin du chargement Do While IE.readyState <> READYSTATE_COMPLETE DoEvents Loop 'RENSEIGNEMENT DU CODE POSTAL 'On défini le deuxième objet (Code postal) Set InputLBCZoneTexteCP = IEDoc.all("ZipCode") 'On définit le texte que l'on souhaite placer à l'intérieur InputLBCZoneTexteCP.value = "95000" 'On attend la fin du chargement Do While IE.readyState <> READYSTATE_COMPLETE DoEvents Loop '.... Remplissage des autres informations end sub
Pour essayer de remédier à ce problème j'ai testé de rafraichir la page grâce à IE.ExecWB OLECMDID_REFRESH, OLECMDEXECOPT_DONTPROMPTUSER
J'ai également essayé de valider la page en début de module pour qu'une initialisation puisse se produire grâce à:
Mais la seule solution trouvée jusqu'à présent:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 Set InputLBCValideBouton = IEDoc.all("validate") 'On simule un clic InputLBCValideBouton.Click 'On attend le chargement complet de la page Do While IE.readyState <> READYSTATE_COMPLETE DoEvents Loop 'On repointe le membre Document Set IEDoc = IE.Document
-Valider manuellement une première fois l'annonce qui redevient vierge, puis diminuer la page internet et relancer à nouveau le code et valider une nouvelle fois (Et la les infos restent renseignées sans suppression). Mais ceci oblige à faire deux fois la même manipulation.
Si quelqu'un à une solution...?
Merci d'avance pour votre aide
Partager