Page Web et boutons a cliquer

  • Initiateur de la discussion Chipster
  • Date de début
C

Chipster

Guest
Bonjour tout le monde :lol:

Pour un travail d'automatisation de taches a mon boulot on me demande de récupérer des informations sur un site intranet à partir d'une macro vba, j'ai donc suivi quelques posts concernant excel et les pages web, j'ai meme essayé 2-3 macros rapatriant tout le texte dune page web dans la premiere cellule ou cliquant sur un lien défini mais mon problème est que je voudrai cliquer sur un 'bouton' qui semble ne pas vouloir se fair repérer.

La structure de la page web est vraiment basique, au centre de la page se trouve:

bouton 'connexion en lecture seule'
------------------------------------
input 'utilisateur'
input 'mot de passe'
bouton 'connexion lecture et ecriture'

le code source de cette partie de la page donne a peu pres ça (desolé je connais pas du tout le langage html):
















Identifiez-vous pour vous connecter en lecture/écriture :



Utilisateur





Mot de passe








A la deuxieme ligne je vois 'input hidden', serai ce pour cela que je n'arrive pas à récupérer les 'input'

Set htmldata = maPageHtml.getElementsByTagName('input')

(je me base sur ce travail: Lien supprimé)

Merci de vos réponses et peut etre a bientot!
:)
 
C

Chipster

Guest
:pinch: :pinch: :pinch:
le code html ne semble pas vouloir passer meme entre les balises Code...
Si un admin passe par la qu'il efface mes tentatives de post ratées :eek:

en enlevant les caractères supérieur et inférieur ca donne ca:

form name='form_login' action='' method='post'
input type='hidden' name='h_typeConnexion' value='R'
table border='0' cellpadding='5' cellspacing='0' align='center' class='Login'
tr
td colspan='2' align='center'
input type='button' value='Se connecter en lecture seule' onclick='connecter(0)' class='Login'
/td
/tr
tr
td colspan='2' align='center'
hr/
/td
/tr
tr
td colspan='2' align='center'
Identifiez-vous pour vous connecter en lecture/écriture :
/td
/tr
tr
tdUtilisateur /td
td
input type='text' name='t_utilisateur' class='Login'
/td
/tr
tr
td Mot de passe /td
td
input type='password' name='pwd_utilisateur' class='Login'
/td
/tr
tr
td colspan='2' align='center'
input type='button' value='Se connecter en lecture/écriture' onclick='connecter(1)' class='Login'

:whistle:
 
C

Chipster

Guest
En approfondissant mes recherches j'ai vu que MichelXLD a fait un WIKI tres complet au sujet du pilotage de pages web par excel, je me suis intéréssé a la partie 'Piloter les objets d'une page Web : Les listes de choix , les zones de texte et les boutons
' qui semblai me convenir mais l'ayant testé en long en large et en travers je n'arrive toujours pas a récupérer des objets de type 'input' ou 'select' pourtant je sais qu'il y en a...

En utilisant sont exemple j'ai pour les variables:

Helem : [object] - length 0
Hsel : [object] - length 0

Je ne peut donc ni rentrer du texte dans les inputs ni cliquer avec:

Helem(1).innerText = 'nom utilisateur'
Helem(2).innerText = 'mot de passe'
Helem(3).Click 'simulation clic

Petite precision sur le code html de la page, il semblerai qu'il y ai du javascript:

head
title Site intranet /title
LINK HREF='../css/style.css' REL='stylesheet' TYPE='text/css'
script language='JavaScript' src='../js/include.js' /script
/head

Merci
 
C

Chipster

Guest
N'y a t'il vraiment personne suceptible de me débloquer?

je rappel mon problème, j'aimerai rentrer du texte dans des champs d'une page web, cliquer sur des boutons, selectionner un mot d'une liste déroulante... en gros piloter une page web (site intranet de ma boite, je ne peut donc pas mettre le lien).
La page est vraiment tres simple (visuellement tout du moins), ayant essayer tous les exemples que j'ai trouvé sur votre forum (et ceux du wiki page 7 de MichelXLD avec l'exemple de voila search) je me suis aperçu que cela ne me convenai pas car je ne récupérai aucun objet de type 'input' ou bien 'select'.

J'ai essayer de voir si mon problème ne venai pas des 'frames', aparament non puisqu'il y'en a qu'une seule.

J'ai été voir du coté des 'scripts' et là j'ai vu que j'en ai 2 (javascripts).

A partir de là je sèche :(

Une aide serai extremement précieuse :eek:
Encore merci
 

MichelXld

XLDnaute Barbatruc
bonjour

cela va etre difficile de répondre sans voir ta page html


tu es sur de l'index des objets ?

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
'*******************************




bon apres midi
MichelXld
 

MichelXld

XLDnaute Barbatruc
bonsoir

j'ai recréé une page html à partir de ton message de 09:22


l'exemple ci dessous fonctionne chez moi

Sub piloterPageWebV01()
'
'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 'C:\\\\\\\\Documents and Settings\\\\\\\\michel\\\\\\\\dossier\\\\\\\\essai.html'
Do Until IE.readyState = READYSTATE_COMPLETE
DoEvents
Loop 'attendre la fin du chargement

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

Helem.Item(1).innerText = 'Nom Utilsateur'
Helem.Item(2).innerText = 'mot de passe'
Helem(3).Click 'simulation clic

End Sub



bonne soiree
MichelXld

Message édité par: michelxld, à: 21/04/2006 19:39
 

Discussions similaires

Statistiques des forums

Discussions
312 964
Messages
2 094 010
Membres
105 912
dernier inscrit
willou3869