Bonjour,
Depuis plusieurs semaines, j’essaie en vain de lire avec VBA une page Web contenant du Javascript modifiant la structure DOM du document suivant les évènements de click ou sélection dans des boites de sélection que fait l’internaute sur la page.
Je précise que je travaille en environnement Visual Basic Editor d’Excel 2002 SP3 ou 2003 (sur pc différents) , que j’ai chargé les références VBA, Microsoft Internet Controls, Microsoft HTML Object Library.
Voici le code :
La selection a bien lieu sur la page Web mais la case à cocher qui devrait apparaître du fait de Javascript n’apparaît pas !!!! J’ai vérifié dans le code source ; il n’y a pas d’élement HTML relatif à cette case à cocher.. par contre si je le fait à la main sur la page Web sans passer par VBA, alors l’élément HTML est bien dans le code source.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23 Dim valeur as String Dim lien as HTMLOptionElement Dim Set IE = New InternetExplorer IE.Visible = True IE.Navigate2 "http://...." If Timer(IE) = False Then GoTo Error_Timer Set htmldoc = IE.document ' premier problème: le code javascript intégré dans la page Web est un peu long à s'exécuter il faut donc que je temporise pour que la page html apparaisse correctement à lécran avant dinitialiser correctement la variable htmldoc. k = 0 For Each pageelement In htmldoc.getElementsByTagName("OPTION") If k = 0 And pageelement.innerText = valeur Then Set lien = pageelement k = 1 End If Next pageelement lien.Selected = True
Même problème avec une ancre qui a une image qui apparaît si on click dessus :il faut alors clicker sur l’image sous jacente de l’ancre (2ième click) pour déclencher l’évènement:la page s’actualise suivant des paramètres liés à l’ancre
Merci pour ceux qui pourront m’aider pour résoudre ce problème. Ou ‘indiquer des pistes de recherche
Cordialement![]()
Partager