VB.NET WebBrowser - Login per JavaScript togglen/ InvokeMember-, InvokeScript-Crashkurs

  • VB.NET
  • .NET (FX) 4.5–4.8

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

    VB.NET WebBrowser - Login per JavaScript togglen/ InvokeMember-, InvokeScript-Crashkurs

    Hallo Leute,

    ich öffne eine Seite in meinem VB.Net WebBrowser.

    VB.NET-Quellcode

    1. Dim sUri As Uri = New Uri("http://www.trueachievements.com/gamingsession.aspx?gamingsessionid=" & sSessionId)
    2. web_Browser.Url = sUri


    Ich möchte den HTML-Code der geöffneten Seite mit Hilfe von RegEx nach einigen Angaben durchsuchen.
    Eine dieser Angaben ist eine Uhrzeit.
    Ohne Login ist die Uhrzeit in einer falschen Zeitzone im HTML-Code hinterlegt.

    Im HTML Code der Seite habe ich herausgefunden das ich für den LogIn folgendes JavaScript auslösen muss um meine LogIn-Daten eingeben zu können.

    VB.NET-Quellcode

    1. <a href="javascript:ToggleLogInPanel()" id="aLogIn">
    2. Log in
    3. </a>


    Wenn ich das Login-Panel aktiviert habe muss ich darin Benutzer und Passwort setzen und ein weiteres Script aktivieren.

    VB.NET-Quellcode

    1. <div id="divLogInPanel" style="display:none">
    2. <div id="divLogInButtons">
    3. <button class="button" onclick="Postback('btnLogIn_click')" id="btnLogIn">Log in</button>
    4. <a class="button" id="btnRegister" href="/register_gamertag.aspx">Register</a>
    5. </div>
    6. <input id="txtLogInGamer" name="txtLogInGamer" class="input" value="" type="text" placeholder="GamerTag">
    7. <input id="txtLogInPassword" name="txtLogInPassword" class="input" value="" type="password" placeholder="Password">
    8. <a href="/password.aspx" id="aForgot">Problems logging in?</a>
    9. </div>


    In meiner Recherche zu dem Thema wurde öfters InvokeMember() und InvokeScript() genannt.

    Mir ist aber nicht klar geworden wie ich die einsetzen kann, bzw. wie diese funktionieren und wie sie mir dann helfen.
    Kann mir da jemand weiterhelfen, einen kleine Crash-Kurs geben?

    Das wäre mein Hauptproblem. Ich habe aber noch weitere Fragen.
    Gibt es noch eine Möglichkeit den HTML-Code einer Seite aus dem VB.Net WebBrowser abzuspeichern?
    Und wie kann ich die Skript-Fehler abstellen die mir mein Browser ununterbrochen auswirft?


    Ich hoffe meine Baustellen sind deutlich geworden, ansonsten sagt mir was ihr zum Verstehen noch an Angaben benötigt.


    Mit freundlichen Grüßen
    Julian

    Dieser Beitrag wurde bereits 3 mal editiert, zuletzt von „Picknicker93“ ()

    Ist folgender Befehl der richtige Ansatz die auf der Seite befindliche JavaScript-Funktion "ToggleLoginPanel()" zu starten?

    VB.NET-Quellcode

    1. web_Browser.Document.InvokeScript("ToggleLoginPanel()")


    Ich bekomme beim Ausführen die Fehlermeldung:

    System.NullReferenceException: Der Objektverweis wurde nicht auf eine Objektinstanz festgelegt.

    bei GoogleCalendarTool.Main_Form.btn_InsertSingleEvent_Click(Object sender, EventArgs e) in C:\Users\Julian\Documents\Visual Studio 2013\Projects\GoogleCalendarTool\GoogleCalendarTool\Main_Form.vb:Zeile 886.


    Zeile 886 enthält die vorher beschriebene Zeile Code.