Getelementbyid ne marche pas

Résolu
Rabei - 25 oct. 2014 à 19:23
jordane45 Messages postés 38144 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 21 avril 2024 - 26 oct. 2014 à 02:15
Bonjour,

je suis en train d'automatiser l'execution des rapports sur une application web mais je bloque
je n'arrive à récupérer aucun élement du document html avec getelementbyid ou avec IE.document.all("")
bien que les objets en question ont un ID


Set HDOC = IE2.document
Set Membre = HDOC.all("OutLookStyleNavigatorControlListbarControlctl00ctl00TreeControl_1_98")


la variable membre est toujours nulle quelque soit le ID que je teste
dois je parcourir tout le document pour y parvenir ? si oui comment ?
A voir également:

7 réponses

ci-dessous mon code à moi
j'utilise vba sous win7

Dim IE2 As New InternetExplorer
Dim WinShell As New ShellWindows
Dim HDOC As HTMLDocument
Dim Champs As HTMLElementCollection

'la fenetre de l'application étant toujours ouverte je la cherche parmi les fenêtres windows déjà ouvertes'

For Each IE2 In WinShell
If Left(IE2.LocationURL, 36) = "http://172.29.1.92/uSupervisorWebApp" And Len(IE2.LocationURL) > 36 Then
Exit For
End If
Next

End If

Set HDOC = IE2.document
Set Membre = HDOC.all("OutLookStyleNavigatorControlListbarControlctl00ctl00TreeControl_1_98")

1
jordane45 Messages postés 38144 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 21 avril 2024 344
Modifié par jordane45 le 25/10/2014 à 23:31
comme s'il s'agissait d'une autre page web

Oui en effet.... car Il semble que la page que tu affiches utilises des IFRAME...

Il va donc falloir essayer de passer par l'objet iframe pour aller chercher ton objet DIV.

window.frames['nom_frame'].document.getElementById('id_element')


Avant de poser une question, merci de lire la charte du site.
Cordialement, Jordane
1
Voilà c'est l'astuce qui me manquait, tout marche très bien maintenant.

merci infiniment :)
1
jordane45 Messages postés 38144 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 21 avril 2024 344
26 oct. 2014 à 01:07
Si la question est résolue..
Merci de ne pas oublier de clôturer le sujet
(en cliquant sur le lien "Marquer comme résolu" qui se trouve sous le titre de la question)

Cordialement,
Jordane
0
jordane45 Messages postés 38144 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 21 avril 2024 344
25 oct. 2014 à 20:01
Bonjour,

Pour que l'on puisse t'aider il faurdrait :
1- Le code HTML de la page que tu veux manipuler (du moins.. le ou Les éléments que tu cherches à récupérer)
2 - Le reste de ton code ...(l'initialisation du composer IE ....)
3 - Le code que tu as utilisé avec getElementbyId

NB : Sachant que getElementbyId ... te donne l'Objet ... pas son contenu...
Il faut ajouter le .value ( pour un objet de type <input> ) ou .innerHTML pour une <div>/un <td> ....



0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
lorsque document.all("") n'a pas marché je l'ai changé par getelementbyid comme suit :


Dim IE2 As New InternetExplorer
Dim WinShell As New ShellWindows
Dim HDOC As HTMLDocument
Dim Champs As HTMLElementCollection

'la fenetre de l'application étant toujours ouverte je la cherche parmi les fenêtres windows déjà ouvertes'

For Each IE2 In WinShell
If Left(IE2.LocationURL, 36) = "http://172.29.1.92/uSupervisorWebApp" And Len(IE2.LocationURL) > 36 Then
Exit For
End If
Next

End If

Set HDOC = IE2.document
Set Membre = HDOC.getElementbyid("OutLookStyleNavigatorControlListbarControlctl00ctl00TreeControl_1_98")




Pour le code de la page il est tellement long que je n'ai pas pu le poster
je viens de l'heberger par ici :


http://www.partage-facile.com/W93O34ZHS9/code.txt.html
0
jordane45 Messages postés 38144 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 21 avril 2024 344
25 oct. 2014 à 22:19
Dans le code source de la page que tu nous a mis en download... il n'existe aucun élément dont l'ID est :

OutLookStyleNavigatorControlListbarControlctl00ctl00TreeControl_1_98


donc... normal qu'il ne te retourne rien lorsque tu le cherches par son id....
0
J'ignore pourquoi un bout de code n'apparait pas dans le doc que je vous ai envoyé bien que j'ai tout selectionné.

j'illustre par cet imprime écran mon souci :


http://www.hostingpics.net/viewer.php?id=398349imprime.jpg


après avoir pris la main sur cette fenetre je voudrais aller sur l'onglet rapports et par la suite cliquer sur "rapport de production vigie orange 1/4h" qui comme vous le voyez dispose d'un ID
sauf que aucun ID n'est accepté c'est comme s'il s'agissait d'une autre page web
0
je veux bien sauf que je ne trouve pas le bouton en question.
0
jordane45 Messages postés 38144 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 21 avril 2024 344
26 oct. 2014 à 02:15
C'est fait :-)
0
Rejoignez-nous