Oelkanne: jQuery .change() Method - automatisches Nachladen bei automatisierter Webseitenbestückung funktionert nicht

Beitrag lesen

Hallo Rolf,

Hier der VB.NET Code, falls du bereit wärst, den Fehler nachzustellen.

Dieser trägt in das drop down erst "RSS252" ein. Dann wird die Routine nochmal aufgerufen und es wird "RSS210" eingetragen.

soweit funktiniert es.

Wenn ich jedoch die Seite nach dem ersten Aufruf ändere (zb. Home und wieder zurück) läuft es in den Fehler.

Option Explicit On
Imports SHDocVw 'aus Microsoft Internet Controls
Public Module Main
    Dim IEApp As SHDocVw.InternetExplorer
    Public Sub Main()
        Call initialization()
        Call Drop_Down("RSS252", "standardCode")
        MsgBox("Bitte einmal im Browser die Seite ändern und wieder zurückgehen")
        Call Drop_Down("RSS210", "standardCode")
        MsgBox("Program finished")
    End Sub
    Sub initialization()
        IEApp = CreateObject("InternetExplorer.Application")
        IEApp.Visible = True
        IEApp.Navigate("C:\ISED\trial.html")
        System.Threading.Thread.Sleep(2000) : Do While IEApp.Busy Or IEApp.Document.ReadyState <> "complete" : System.Threading.Thread.Sleep(1000) : Loop        '-- Warten
    End Sub
    Sub Drop_Down(Auswahl, ElementName)
        Dim objEvent
        For Each htmloption As Object In IEApp.Document.GetElementsByName(ElementName)
            For Each element In htmloption.Options
                If element.Text = Auswahl Then
                    element.Selected = True
                    objEvent = IEApp.Document.createEvent("HTMLEvents")
                    objEvent.initEvent("change", True, False)
                    IEApp.Document.getElementById(ElementName).dispatchEvent(objEvent)
                    Exit Sub
                End If
            Next
        Next
    End Sub
End Module