Button ohne Id betätigen

  • VB.NET

Es gibt 6 Antworten in diesem Thema. Der letzte Beitrag () ist von Cyberkey.

    Button ohne Id betätigen

    hallo Leute
    Kurz und Knapp:

    HTML-Quellcode

    1. <button type="submit" accesskey="s" class="inAc cp">senden</button>


    Wie kann ich den Button ansprechen?

    Vom Typ

    HTML-Quellcode

    1. button type="submit"

    gibt es außerdem 2, wobei nur dieser hier (Code oben) gedrückt werden soll..

    Bisherige versuche:

    VB.NET-Quellcode

    1. Dim ElementListe As HtmlElementCollection
    2. ElementListe = WebBrowser1.Document.GetElementsByTagName("Button") ' Alle <input>-Tags holen
    3. For Each Element As HtmlElement In ElementListe
    4. If Element.GetAttribute("accesskey").Equals("s") Then
    5. MessageBox.Show("kontrolle: klick kommt")
    6. Element.InvokeMember("click") ' Klick ausführen
    7. Next


    EDIT: Der Button wird jetzt ausgeführt... kleiner Denkfehler*
    Aber Prozessorlast 100% ?(

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „Cyberkey“ ()

    hallo :)

    ich hatte einen kleinen Denkfehler... der Button wird geklickt... aber dann steigt die Prozessorlast auf 100% und die Seite macht garnichts mehr...
    Bzw. das Formular.. aktualisiert sich nicht.
    Woran könnte das liegen?

    EDIT: habe das Problem durchs Ausschluss-Verfahren lokalisiert.

    VB.NET-Quellcode

    1. While WebBrowser1.ReadyState <> WebBrowserReadyState.Complete 'Warte auf navigation
    2. Application.DoEvents()
    3. End While

    Ist schuld !


    Aber wieso?!

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „Cyberkey“ ()

    weil du da eine Schleife hast, welche solange läuft, bis die Seite geladen hat, da die Schleife so schnell wie möglich durchlaufen wird, braucht das natürlich Prozessorlast... also solltest du evtl. noch ein Thread.Sleep einbauen, was das ganze bereits drastisch senken würde...

    Jedoch solltest du lieber das WebBrowser_DocumentCompleted Event verwenden, so machen es Profis und du hast im Grunde keine Prozessorlast...
    Ich wollte auch mal ne total überflüssige Signatur:
    ---Leer---
    Danke für die Antwort :) Ich habs malwieder übersehn... natürlich totaler mist X(

    Was unter anderem auchnicht klappt ist einen Wert Auszulesen...

    HTML-Quellcode

    1. <div class="title">Post an:</div>
    2. <div class="line">
    3. Gastgeber<input type="hidden" id="recipient" value="Gastgeber" />
    4. </div>


    Value Soll in eine Variable geschrieben werden..
    Eigl. macht man es ja so:


    HTML-Quellcode

    1. Variable = WebBrowser1.Document.GetElementById("recipient").InnerText

    Aber so einfach gehts ja nicht ! :pinch: