Web durch TAB auf Button springen und klicken

  • VB.NET

Es gibt 1 Antwort in diesem Thema. Der letzte Beitrag () ist von Stryke.

    Web durch TAB auf Button springen und klicken

    Hallöchen, bin ganz neu in der VB-Welt (seit gestern^^),

    nun...ich bin schon auf mein erstes Problem gestoßen.

    Kurze Erläuertung des Arbeitsweges:
    1. Laden der Webseite im Webbrowser durch Klick auf Button1 (✓)
    2. Durch Klicken auf Button2 Daten in Feld X eingeben (✓) und ok-Button im Webbroser betätigen (X)

    Es handelt sich um die Website gpso.de/maps/ . Eigentlich nur um diese beiden Zeilen (vorerst) im Quellcode:

    HTML-Quellcode

    1. <input class="e80adr" name="ad" size="45" maxlength="100" tabindex="31" onkeyup="gp.hkr(5)" type="text"/>
    2. <input class="butt3" value="ok" onclick="gp.hhadr()" tabindex="32" title="Geocoding - ermittle geographische Position von Adresse" type="button"/>


    Ich habe es gesachafft in die Textbox unter "Adresse: Land, Ort, Straße oder POI" Daten automatisch einzugeben durch

    VB.NET-Quellcode

    1. WebBrowser1.Document.GetElementById("ad").InnerText = "..."


    Nun möchte ich den Button rechts daneben klicken, doch alle Mühen scheitern...Da es keine ID oder Namen hat und ich durch Zugriffe wie:

    VB.NET-Quellcode

    1. Dim myHtmlElement As HtmlElement
    2. For Each myHtmlElement In WebBrowser1.Document.All
    3. If myHtmlElement.GetAttribute("value") = "ok" AndAlso _
    4. myHtmlElement.GetAttribute("class") = "butt3" Then
    5. myHtmlElement.InvokeMember("Click")
    6. End If
    7. Next

    ,

    VB.NET-Quellcode

    1. WebBrowser1.Document.Forms(0).All(32).InvokeMember(32)

    (fängt man hier mit 0 an zu zählen?)
    etc. (habe schon vieles ausprobiert, auch den Zugriff auf tabindex, title usw.) nicht weiterkomme (ihr könnt mir gerne zeigen wie es richtig geht :) ) hatte ich mir gedacht, einen TAB zu simulieren, dass der Button dann im Fokus ist und ein einfaches Klick ausreicht, doch auch da finde ich keine wirklich hilfreichen Antworten. ?(

    Ich danke schonmal im Voraus für die Hilfe :)

    MfG Stryke

    PS: ihr könnt mir auch gerne nur einen Anstubser in die richtige Richtung geben, vllt erkenn ich dann ja selber das Problem :thumbup:

    Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von „Stryke“ ()

    Ok habe es jetzt mit

    VB.NET-Quellcode

    1. Dim myHtmlElement As HtmlElement
    2. For Each myHtmlElement In WebBrowser1.Document.All
    3. If myHtmlElement.GetAttribute("title") = "Geocoding - ermittle geographische Position von Adresse" Then
    4. myHtmlElement.InvokeMember("Click")
    5. End If
    6. Next

    gelöst, hatte vielleicht vorher nen Schreib-/Denkfehler drin :X

    Dann mal weiter an die Arbeit, bei weiteren Fragen wieder hier posten oder neuen Thread öffnen?

    MfG Stryke