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

Signaler
Messages postés
80
Date d'inscription
vendredi 4 avril 2003
Statut
Membre
Dernière intervention
14 octobre 2005
-
Messages postés
1
Date d'inscription
mercredi 23 avril 2003
Statut
Membre
Dernière intervention
27 juin 2008
-
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

Messages postés
402
Date d'inscription
vendredi 6 août 2004
Statut
Membre
Dernière intervention
12 octobre 2008
28
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
Messages postés
80
Date d'inscription
vendredi 4 avril 2003
Statut
Membre
Dernière intervention
14 octobre 2005

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 ;)
Messages postés
80
Date d'inscription
vendredi 4 avril 2003
Statut
Membre
Dernière intervention
14 octobre 2005

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
Messages postés
1
Date d'inscription
mercredi 23 avril 2003
Statut
Membre
Dernière intervention
27 juin 2008

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