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