Getelementbyid ne marche pas [Résolu]

Rabei - 25 oct. 2014 à 19:23 - Dernière réponse : jordane45 20581 Messages postés mercredi 22 octobre 2003Date d'inscriptionModérateurStatut 23 avril 2018 Dernière intervention
- 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 ?
Afficher la suite 

10 réponses

Répondre au sujet
jordane45 20581 Messages postés mercredi 22 octobre 2003Date d'inscriptionModérateurStatut 23 avril 2018 Dernière intervention - Modifié par jordane45 le 25/10/2014 à 23:31
+1
Utile
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
Cette réponse vous a-t-elle aidé ?  
Commenter la réponse de jordane45
jordane45 20581 Messages postés mercredi 22 octobre 2003Date d'inscriptionModérateurStatut 23 avril 2018 Dernière intervention - 25 oct. 2014 à 20:01
0
Utile
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> ....



Commenter la réponse de jordane45
0
Utile
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")

Commenter la réponse de Rabei
0
Utile
1
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
jordane45 20581 Messages postés mercredi 22 octobre 2003Date d'inscriptionModérateurStatut 23 avril 2018 Dernière intervention - 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....
Commenter la réponse de Rabei
0
Utile
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
Commenter la réponse de Rabei
0
Utile
1
Voilà c'est l'astuce qui me manquait, tout marche très bien maintenant.

merci infiniment :)
jordane45 20581 Messages postés mercredi 22 octobre 2003Date d'inscriptionModérateurStatut 23 avril 2018 Dernière intervention - 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
Commenter la réponse de Rabei
0
Utile
1
je veux bien sauf que je ne trouve pas le bouton en question.
jordane45 20581 Messages postés mercredi 22 octobre 2003Date d'inscriptionModérateurStatut 23 avril 2018 Dernière intervention - 26 oct. 2014 à 02:15
C'est fait :-)
Commenter la réponse de Rabei

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.