Contrôle VB internet explorer besoin d'aide... urgent...

ArRkHaOn Messages postés 80 Date d'inscription vendredi 4 avril 2003 Statut Membre Dernière intervention 14 octobre 2005 - 6 mai 2005 à 21:48
cs_fred29 Messages postés 1 Date d'inscription mercredi 23 avril 2003 Statut Membre Dernière intervention 27 juin 2008 - 27 juin 2008 à 23:39
Il y a un controle VB qui permet de soumettre un formulaire sur internet explorer du style:

With ie
.Visible = True
.IENavigate "http://www.google.fr/"
.FormFillField "q", "vbfrance"
.FormClickButton "btnG"
End With

il ouvre internet explorer rempli "vbfrance" dans le textfield de google et click auto sur le boutton "btnG" de google pour soumettre la recherche
Ca fonction formidablement bien mais voici le problème:

Comment puis je utiliser cette méthode si le boutton n'a pas de nom ?
celui de google s'appel "btnG" donc ça va mais sur d'autres sites certains bouttons n'ont aucun nom...
Auriez-vous une solution à ça ? je vous remercis d'avance...

4 réponses

michelxld Messages postés 402 Date d'inscription vendredi 6 août 2004 Statut Membre Dernière intervention 12 octobre 2008 32
7 mai 2005 à 07:57
bonjour


ton code semble interessant , mais je n'ai pas reussi à le faire fonctionner : pourrais tu le placer ici en entier et preciser les bibliotheques que tu utilises





sinon , si tu ne connais pas le nom des objets , tu peux aussi piloter les pages Web à partir de leurs numeros d'index


cette premiere macro boucle sur tous les objets type "input" de la page , en indiquant l'index de chacun



Sub piloterPageWebV01()
'michelxld le 12.11.2004
'activer la reference Microsoft HTML Objects Library
'activer la refenrce Microsoft Internet Controls
Dim i As Integer
Dim IE As InternetExplorer
Dim maPageHtml As HTMLDocument
Dim Helem As IHTMLElementCollection


On Error Resume Next


Set IE = CreateObject("InternetExplorer.Application")
IE.Visible = True


IE.Navigate "http://www.google.fr/"
Do Until IE.readyState = READYSTATE_COMPLETE
DoEvents
Loop 'attendre la fin du chargement


Set maPageHtml = IE.document
Set Helem = maPageHtml.getElementsByTagName("input")


'
'*******************************
'(boucle pour identifier l'index des objets "input" dans la page)
For i = 0 To Helem.Length - 1
MsgBox Helem(i).getAttribute("name") & " / " & Helem(i).getAttribute("value")


Helem.Item(i).innerText = "index objet : " & i
Next i
'*******************************


End Sub



une fois que tu connais les index , tu peux tester cette deuxieme procedure , qui permet de completer les champs de la page Web et simuler le clic sur le bouton


Sub piloterPageWebV02()
'michelxld le 12.11.2004
'activer la reference Microsoft HTML Objects Library
'activer la refenrce Microsoft Internet Controls
Dim i As Integer
Dim IE As InternetExplorer
Dim maPageHtml As HTMLDocument
Dim Helem As IHTMLElementCollection


Set IE = CreateObject("InternetExplorer.Application")
IE.Visible = True


IE.Navigate "http://www.google.fr/"
Do Until IE.readyState = READYSTATE_COMPLETE
DoEvents
Loop 'attendre la fin du chargement


Set maPageHtml = IE.document
Set Helem = maPageHtml.getElementsByTagName("input")


'
'quand tu connais l'index des objets tu peux utiliser le code comme ci dessous
'pour remplir le champ
Helem.Item(1).innerText = "vbfrance"
'simule le clic sur le bouton "Recherche Google"
Helem(2).Click


End Sub



j'espere que ça pourra t'aider

bon week end
michelxld
0
ArRkHaOn Messages postés 80 Date d'inscription vendredi 4 avril 2003 Statut Membre Dernière intervention 14 octobre 2005
7 mai 2005 à 12:27
Ta fonction marche avec google mais avec un autre site sans nom au boutton ca me met une erreur:

Helem.Item(1).innerText = "vbfrance"
'simule le clic sur le bouton "Recherche Google"
Helem(2).Click '<== erreur


End Sub

Je vais essayer de l'étudier un peu plus je te remerci beaucoup ;)
0
ArRkHaOn Messages postés 80 Date d'inscription vendredi 4 avril 2003 Statut Membre Dernière intervention 14 octobre 2005
7 mai 2005 à 12:34
Bon pour finir j'ai chercher et j'ai trouvé je te remercis beaucoup je te met mon msn si tu veux bien l accepter : arrkhaon@hotmail.com
merci encore
0
cs_fred29 Messages postés 1 Date d'inscription mercredi 23 avril 2003 Statut Membre Dernière intervention 27 juin 2008
27 juin 2008 à 23:39
bonjour tous

 une question  :

 j'arrive a simuler via VB6 les input des pages html mais pas les :" <a href .... onclick ....."

 est ce des link ?

et faut il faire ceci pour les retrouver :

Set Helem = maPageHtml.getElementsByTagName("link")'

je suis bloqué la dessus et j'ai beau tout essayer , je coince !!!!

merci
0
Rejoignez-nous