Bonjour, ma question est quelque peu pointue. J'espère quand même avoir une réponse. Je développe une application en VB.NET.
Cette application remplie des champs dans une page web ouverte dans Internet Explorer. Pour remplir des TextArea traditionnel, pas de problème! Par contre, la page web en question contient aussi des combobox qui sont aussi remplie correctement, mais même une fois le texte inscrit dans le combobox, l’élément dans le combobox n'est pas sélectionné et quand j’appuie sur le bouton "Save", la page web considère le combobox vide étant donné qu'aucune sélection n'a été faites.
Ce que je vois comme solution :
- Mettre mon texte dans le combobox. OK
- Mettre le combobox en focus avec IHTMLElement.focus(). OK
- Envoyer la touche "Arrow down" pour mettre en surbrillance le seul champ correspondant au texte dans le combobox.
- Envoyer la touche "Enter" pour sélectionner l'élément.
Pour voir exactement de quel type de combobox je parle suivez ces étapes.
Cliquer sur ce lien
Cliquer sur "Open the console".
Cliquer sur l'onglet vertical "Applications"
Problem Management ---> New Problem
Vous verrez les combobox en question ici (Assigned Group+, Assignee+)
Merci beaucoup et même si vous n'avez pas la réponse, ne vous gêner pas pour les suggestions. Merci!
Code que j'utilise pour remplir les champs :
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
24
25
26
27
28
29
30 Dim SWs As New SHDocVw.ShellWindows Dim IE As SHDocVw.InternetExplorer For Each IE In SWs If IE.Name = "Windows Internet Explorer" Or IE.Name = "Internet Explorer" Then If IE.LocationURL.Contains("onbmc") Then Dim HTMLDoc As mshtml.HTMLDocument HTMLDoc = IE.Document Dim iHTMLCol As IHTMLElementCollection Dim iHTMLEle As IHTMLElement Dim strAttribute As String iHTMLCol = HTMLDoc.getElementsByTagName("textarea") For Each iHTMLEle In iHTMLCol If Not iHTMLEle.getAttribute("id") Is Nothing Then strAttribute = iHTMLEle.getAttribute("id").ToString If strAttribute = "arid_WIN_3_1000000217" Then iHTMLEle.setAttribute("value", "Help Desk Support") iHTMLEle.focus() Exit For End If End If Next End If End If Next
Partager