Button in Webbrowser klicken - Probleme

  • VB.NET

Es gibt 14 Antworten in diesem Thema. Der letzte Beitrag () ist von jvbsl.

    Button in Webbrowser klicken - Probleme

    Hallo,
    habe zwar schon gegoogelt. Nen paar sachen gefunden aber anscheinend nicht das richtige bzw. nicht das was mir weiterhilft!
    Ich möchte einen Button im Webbrowser klicken der kein name/Id besitzt.
    Der Quellcode des Buttons:

    Quellcode

    1. <button tabindex="3" type="submit">Login</button>


    Logischerweise funktioniert dieser code nicht:

    VB.NET-Quellcode

    1. WebBrowser1.Document.GetElementById("Login").InvokeMember("click")


    Auch dieser code funktioniert nicht:

    VB.NET-Quellcode

    1. WebBrowser1.Document.Forms(0).InvokeMember("click")


    Einen URL gibts für diesen Button nicht.
    Hat jemand ne Lösung wie man das relativ einfach Lösen kann?
    Gruß
    UHecker_96

    VB.NET-Quellcode

    1. WebBrowser1.Document.Forms(0).InvokeMember("submit")

    Eine Form hat kein Klick Event, aber ein submit-Event und das soll ja schließlich aufgerufen werden ;)
    Ich wollte auch mal ne total überflüssige Signatur:
    ---Leer---
    Vollzitat des direkten Vorposts an dieser Stelle entfernt ~VaporiZed

    Hört sich nicht schlecht an! Jedocht kommt steht bei "he": Syntaxfehler.
    "'gefunden" habe ich weg gemacht und habe "invokeMember("click") hingeschrieben.
    Scheint nicht Falsch zu sein, ob es funktioniert weiß ich aber noch nicht!
    Weiß aber leider auch nicht, wie ich den code ändern soll...
    Kann jmd helfen??
    lg

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

    Der Fehler liegt daran, dass die Syntax einer For-Each-Schleife in VB.NET so aussieht:

    VB.NET-Quellcode

    1. For Each Name As Typ In Auflistung
    2. ' Anweisungen
    3. Next

    ErfinderDesRades schrieb:

    Counter Bug "likes c#" - und da scheinter bisserl durcheinandergekommen ;).
    Probierma:

    VB.NET-Quellcode

    1. Dim hecLogin = Webbrowser1.Document.GetElementsByTagName("button")
    2. for each he As HtmlElement in hecLogin
    3. if he.InnerText = "Login" then
    4. 'gefunden
    5. end if
    6. next
    Hey, ja diesen code habe ich jetzt auch selber hinbekommen ;)
    Gut, das jemand genau das gleiche hat xDD
    Jedoch funktioniert invokeMember("click") nciht mehr. Wie mache ich das, das der Button nun auch noch angeklickt wird??
    Der code stimmt bzw. bin mir ziemlich sicher!! :thumbsup:
    lg
    Wenn er sagt, dass der Code nicht funzt, liegts wahrscheinlich daran, dass wie bereits davor eine Exception kommt...
    Deshalb Verweis ich mal auf einen Post, von einer Person, dessen Posts erst gesehen werden, wenn man sie 5mal überlesen hat:
    [VB 2010] Button in Webbrowser klicken - Probleme
    Ich wollte auch mal ne total überflüssige Signatur:
    ---Leer---

    jvbsl schrieb:

    Wenn er sagt, dass der Code nicht funzt, liegts wahrscheinlich daran, dass wie bereits davor eine Exception kommt...
    Deshalb Verweis ich mal auf einen Post, von einer Person, dessen Posts erst gesehen werden, wenn man sie 5mal überlesen hat:
    [VB 2010] Button in Webbrowser klicken - Probleme
    Den code den du oben gesendet hast funktioniert aber nicht! Dessen habe ich bereits ausprobiert.

    ErfinderDesRades schrieb:

    Der code stimmt bzw. bin mir ziemlich sicher!!
    Sowas würdich erst sagen, wenn die App auch tut wassichwill ;)

    Erstmal musstewohl überprüfen, ob überhaupt ein Button gefunden wird. Also vlt. Stop hineinschreiben und laufnlassn
    :rolleyes: Ich weiß xD
    Naja ich weiß nicht was du jetzt mit Stop meinst, ich habe ne msgBox reingeschreiben. Inhalt ist ja egal ;)
    Die msgBox kam, deshalb bin ich mir sicher das dies funzt.
    Funzt aber auch nur, wenn ich weiß, wie der code ist damit der Button auch geklickt wird!!
    Dies ist das einzigste Problem das ich habe. Der rest funktioniert.
    lg
    Vollzitat des direkten Vorposts an dieser Stelle entfernt ~VaporiZed

    Joa, jetzt funktionierts wirklich ;)
    Hatte nen Fehler, naja eig. nen unbewussten Fehler!

    Der code war so:

    VB.NET-Quellcode

    1. WebBrowser1.Document.GetElementById("mail").InnerText = TextBox1.Text
    2. WebBrowser1.Document.GetElementById("password").InnerText = TextBox2.Text
    3. WebBrowser1.Document.Forms(0).InvokeMember("submit")
    4. WebBrowser1.Navigate("www.website.de")

    Der ist den code anscheinen sehr schnell durchgegangen, und bevor dann der Button betätigt werden konnte bzw. bevor er Fertig geladen hatte, navigierte der schon zur anderen Website :S

    Inzwischen habe ich das nun anders gelöst !
    Funzt jetzt auch, danke dir :thumbsup:
    lg

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