Visual Basic Webbrowser Element - Button anklicken

  • VB.NET

Es gibt 4 Antworten in diesem Thema. Der letzte Beitrag () ist von Joshi.

    Visual Basic Webbrowser Element - Button anklicken

    Hallo Zusammen,

    ich habe eine Frage, habe auch bereits die "ähnlichen Themen" durchforstet aber bin auf keine Lösung gestoßen.
    Ich möchte in meiner Anwendung mit dem Webbrowser Element ein Button anklicken. Um mich auf der Zielseite "einzuloggen" benutze ich folgenden Code:

    VB.NET-Quellcode

    1. WebBrowser1.Document.GetElementById("user").InnerText = TextBox2.Text
    2. WebBrowser1.Document.GetElementById("pw").InnerText = TextBox3.Text
    3. WebBrowser1.Document.GetElementById("login").InvokeMember("click")


    Nachdem sich der Webbrowser "eingeloggt" hat möchte ich nun einen weiteren Button anklicken. Hier finde ich im Seitenquelltext auch wenn ich per Rechtsklick untersuche keine ID oder einen Namen.
    Der Seitenquelltext für den Button sieht wie folgt aus:
    imgur.com/e9EBHWg

    Könnt ihr mir weiterhelfen? Wie ich über das Webbrowser Element diesen Button anklicken kann?
    Ich danke euch vielmals im voraus :)
    Du kannst Elemente auch via ClassName finden.
    Siehe dazu: stackoverflow.com/questions/22…elementsbyclass-in-vb-net
    Mfg: Gather
    Private Nachrichten bezüglich VB-Fragen werden Ignoriert!


    Hi.

    Wie der vorherige Beitrage schon erwähnte, können Klassennamen verwendet werden.

    Dabei ist zu beachten das die Klassen-Elemente als Nullbasierte liste behandelt werden.

    Das bedeutet, wenn der Button evtl. öfter im DOM (Document Object Model oder so...) vorkommt, benutzt Mann/Frau/Transgender folgendes.

    VB.NET-Quellcode

    1. Dim elementesbyclass = WebBrowser1.Document.getElementsByClassName("shiny-buttons")
    2. elementesbyclass(4).InvokeMember("comince-micromanagement")
    3. ''der fünfte in der Auflistung.


    Es sollte aber beim abschicken eines Formulars nur ein "submit"-Button sein, aber nur so als Tipp.

    Wer einmal die wilden gestade des DOM im WebbroserControl sah, war ergriffen von Ehrfurcht und erhabener...

    Verdammich, ich guck´ nie wieder Schnulzen nach Mitternacht, sind ja schlimmer als Gremlins... 8o

    c.u. Joshi
    Vielen Dank für eure Unterstützung habe es damit versucht aber nicht hinbekommen ich denk mal ich habe das falsche zwischen die "" geschrieben.

    Bin gerade dabei mich im Bereich Http WebRequest schlau zu machen und hab schon die ersten Erfolge z.b. das o.g. Button gedrückt wird. Zwar jetzt mit neuen Herausforderungen aber das macht Spaß :)
    Hi.

    Gute Idee zu Webrequests zu wechseln.
    Schlieslich biste jetzt ja Programmierer und kein Scriptkiddie...

    Mal Spaß bei Seite.

    Das Webbrowser Steuerelement ist IE9/IE11 oder im fall von GeckoFX auch schon ziemlich Betagt.

    Das Programmieren gegen einen Webbrowser ist eigentlich nur zu empfehlen, wenn Auslastungs/UI-Test als Forderung gegeben ist.

    Um sich mal Kurz automatisiert einzuloggen, kann ich nur KeePass mit Kee (FireFox-Addon) empfehlen.

    Um aber komplizierte Webseiten-Operationen zu machen, lohnt sich der Webrequest viel mehr.

    Die meisten größeren Webseiten bieten eine API an, um mit JSON/XML zu Kommunizieren.

    In meinem Fall war das WIKI-Media und die REST-API-Anbindung, was nur die Daten als JSON oder XML ausspuckte, ohne den ganzen HTML/JAVAScript gedöns.

    Damals musste ich noch MVVM und Async/Await lernen, aber das war schwer (kann das immernoch nicht).

    Und da Du ja "Bock drauf" hast, kann ich dir empfehlen auch die WPF/MVVM-Techniken mit zu erlernen.

    Steile Lernkurve, das "schwör ick Dier", aber genauso "einfach" zu erlernen wie HTML/JavaScript/PHP in Kombination.

    Wenn interesse besteht weiter als Webrequest zu gehen, könnte ich mir überlegen das alte Programm abzustauben und evtl. bei YouTube einige Videos dazu zu machen.

    War ein Abenteuer, aber hat zu einem tieferen Verständnis im bezug auf WPF geführt, weil WinForms ist lecker aber WPF leckerererer...

    c.u. Joshi