Piloter Internet Explorer depuis Excel : comment cliquer sur un bouton "submit"

dionys0s

XLDnaute Impliqué
Bonjour le forum

j'ai déjà posté à ce sujet hier, mais j'ai mieux délimité les contours de mon problème, donc je poste un nouveau topic à ce sujet.

J'ai longuement parcouru les pages d'aide de MichelXLD qui semble être l'expert en la matière, ainsi que les topics anglophones ou francophones du web susceptibles de répondre à mon problème concernant le pilotage d'Internet Explorer par VBA mais je n'arrive pas à trouver la solution.

Je cherche à manipuler la page Itinéraire - ViaMichelin: trouvez le meilleur trajet. Il s'agit de remplir deux champs (code postal + ville (dans le même champ) et code postal + ville (dans le même champ) d'arrivée) et de cliquer sur l'un des deux boutons "Rechercher" (n'importe lequel, les deux sont "corrects") sur la page pour obtenir le coût et l'itinéraire du trajet entre les deux villes.

En faisant un clic droit => afficher la source sur la page, je suis parvenu à récupérer les ID (qui correspondent au Name) des deux champs à remplir, et j'arrive à les remplir sur la page par du code VBA comme je le souhaite. Mais impossible de cliquer en VBA sur l'un des deux boutons "Rechercher" qui permet de lancer la requête pour avoir le coût et l'itinéraire du trajet.

Ce qui est curieux, c'est qu'il n'y a que 2 boutons "Rechercher" sur la page (j'ai fait un ctrl + F pour voir ça), mais qu'il y a trois intitulés "Rechercher" dans la source, dont voici les codes :

Code:
<button type="submit" class="btnButton btnSearch"> Rechercher </button>
Code:
<button type="submit" class="btnButton btnSearch"> Rechercher </button>
Code:
<button id="searchHotelBox{$ID}" type="submit" class="btnButton btnSearch"> Rechercher </button>

L'ID du troisième bouton ne me suggère pas qu'il s'agisse là du bouton à activer, et les codes des deux premiers boutons sont identiques, ce qui concorde aussi avec le fait que seuls deux boutons "Rechercher" sont visibles sur la page.

Jai donc le code suivant qui marche pour le remplissage des champs mais impossible de mettre la main sur l'ID ou le name des boutons. Si quelqu'un a une idée à me soumettre je lui serai un gré infini !! Voici le code à ce jour :
Code:
Sub Remplissage_Et_Recuperation()

Dim IE As Object
Dim maPageHtml As Object
Dim VilleDepart, VilleArrivee, Rapide, BoutonRechercher As Object
Dim i as Integer

Set IE = CreateObject("InternetExplorer.Application")

IE.Navigate ("http://www.viamichelin.fr/web/Itineraires")

Do Until IE.ReadyState = READYSTATE_COMPLETE
DoEvents
Loop

IE.Visible = True

Set maPageHtml = IE.Document
Set VilleDepart = maPageHtml.getElementsByName("strDepartureMerged").Item
Set VilleArrivee = maPageHtml.getElementsByName("strArrivalMerged").Item
Set BoutonRechercher = maPageHtml.getElementsByName("???").Item

VilleDepart.Value = "75000 PARIS"
VilleArrivee.Value = "01000 BOURG EN BRESSE"

End Sub

Précision, j'ai bien activé les deux références nécessaires.
Encore merci d'avance pour votre aide

Bonne journée à tous et merci à ceux qui auront eu la patience de lire ce post jusqu'au boût.
 

Pierrot93

XLDnaute Barbatruc

escouger

XLDnaute Occasionnel
Bonjour,
Je suis interessé par ce sujet, et voudrai apprendre de celui-ci pou extrapoler ensuite avec d'autres sites.
Avant même de rencontrer le problème lié aux boutons "rechercher", je suis en difficulté sur la ligne
Set VilleDepart = maPageHtml.getElementsByName("strDepartureMerged").Item
En fait je n'arrive pas à retrouver en faisant F12 ou le bouton contextuel "afficher la source"" le nom "strDepartureMerged".
Pourriez m'indiquer comment retrouver dans le code les endroits ou identifier ces nom d'éléments ?
Merci d'avance de votre aide
 

Discussions similaires

Statistiques des forums

Discussions
312 156
Messages
2 085 819
Membres
102 992
dernier inscrit
KOSTIC