Laden...

WPF Webbrowser Login Daten mitgeben

Erstellt von Elmo84 vor einem Jahr Letzter Beitrag vor einem Jahr 493 Views
E
Elmo84 Themenstarter:in
21 Beiträge seit 2023
vor einem Jahr
WPF Webbrowser Login Daten mitgeben

Hallo zusammen,

ich bin es nochmal. Ich versuche seit geraumer Zeit meinem geladenen Webbrowser Element
die Zugangsdaten mitzugeben. Damit diese in die entsprechenden Felder eingetragen werden und der
Einloggen button gedrückt wird.
Da ich ein Noob auf dem Gebiet des C# bin, könnt Ihr euch ja vorstellen dass ich es seit Stunden nicht hinbekomme.
Durchsuche das gesamte Weg (beinahe), schaue Videos, aber ich komme nicht auf die Lösung.

Wie muss ich das Window_Loaded bestücken umd diese Felder auszufüllen:


<div class="PageMainDiv">
        <div class="LoginDiv">
            <div class="SearchDivLeft">
                <span id="MainContent_lblTitleUser">Benutzername:</span>
            </div>
            <div class="SearchDivRight">
                <input name="ctl00$MainContent$tbxUser" type="text" id="MainContent_tbxUser" tabindex="1" style="width: 100%;" />
            </div>
            <div class="SearchDivLeft">
                <span id="MainContent_lblTitlePassword">Passwort:</span>
            </div>
            <div class="SearchDivRight">
                <input name="ctl00$MainContent$tbxPassword" type="password" id="MainContent_tbxPassword" tabindex="2" style="width: 100%;" />
            </div>
            <div style="margin-top: 20px;">
                <input type="submit" name="ctl00$MainContent$btnLogin" value="Login" id="MainContent_btnLogin" tabindex="3" />
            </div>
            <div style="margin-top: 25px; font-weight: bold; font-style: italic;">
                <span id="MainContent_lblMeldung"></span>
            </div>
        </div>
    </div>

So sieht der Aufbau der geladenen Seite aus.

Ich bitte um Hilfe.

LG elmo

16.842 Beiträge seit 2008
vor einem Jahr

Da ich ein Noob auf dem Gebiet des C# bin, könnt Ihr euch ja vorstellen dass ich es seit Stunden nicht hinbekomme.

Alle haben mit 0 Kenntnis angefangen. Aber man kann sich Wissen aneignen. Besonders bei so einem Thema, bei dem man nicht der oder die erste mit der Problemstellung ist und es Millionen von Beispielen gibt.

Was ist denn das Ziel? Was hast denn bisher versucht?

Wenn Du Stundenlang mit dem Thema beschäftigt bist, dann hast ja bestimmt schon die Doku gelesen, in der seit mehreren Jahren darauf hingewiesen wird, dass das Standard WPF Browser Control nicht mehr verwendet werden soll, sondern zB Einführung in Microsoft Edge WebView2 - Microsoft Edge Development; wenn das Control überhaupt das Mittel für Dein Ziel sein sollte.
Wenn Du eine Webseite automatisieren willst, was in den meisten Fällen nicht erlaubt ist (zB Online Games, Banken...), dann macht man das nicht über ein Control.

E
Elmo84 Themenstarter:in
21 Beiträge seit 2023
vor einem Jahr

Ja das stimmt. Ich habe vieles ausprobiert, derzeit habe ich alles wieder gelöscht, außer dass die gewünschte
Homepage geladen wird.

Hängt es womöglich mit dem Aafbau der Homepage auf, dass die Beiträge welche ich im Netz gefunden habe nicht funktionieren?

https://irgendwas.de/Login.aspx

LG elmo

16.842 Beiträge seit 2008
vor einem Jahr

Ja das stimmt. Ich habe vieles ausprobiert, derzeit habe ich alles wieder gelöscht

Dann sag uns doch einfach, was das Endziel ist und was Du probiert hast.
Siehe [Hinweis] Wie poste ich richtig?

E
Elmo84 Themenstarter:in
21 Beiträge seit 2023
vor einem Jahr

Entschuldige.

Was ich jetzt aktuell habe /versuche, ist es so:


private void TGucker_Browser_LoadCompleted(object sender, NavigationEventArgs e)
        {
            HtmlDocument doc = TGucker_Browser.Document;
            HtmlElement username = doc.GetElementById("UserName");
            HtmlElement password = doc.GetElementById("Password");
            HtmlElement submit = doc.GetElementById("submit");

            submit.InvokeMember("click");
        }

Er erkennt mir das HtmlElement nicht an.
Leider kann ich Microsoft.Mshtml.dll nicht einbinden bzw. den Verweis erstellen.
Es kommt stets wie Fehlermeldung:
"Der Verweis ist ungültig oder wird nicht unterstützt"

Ich bin am verzweifeln.
Entschuldige wenn ich mich wogmölich etwas doof anstelle.

LG elmo

16.842 Beiträge seit 2008
vor einem Jahr

<input name="ctl00$MainContent$tbxUser" type="text" id="MainContent_tbxUser" tabindex="1" style="width: 100%;" />


HtmlElement username = doc.GetElementById("UserName");

Was fällt Dir auf? 😉
Kannst nicht einfach Random irgendwelche IDs reinschreiben. Nirgends in Deinem HTML Snippet steht "UserName".
Woher soll der Code wissen, was Du meinst, wenn Du keine passende ID rein schreibst? Oder hast evtl den Code irgendwoher kopiert und vergessen anzupassen? 😉

Wie bei Deinem anderen Thema: [Artikel] Debugger: Wie verwende ich den von Visual Studio?
Damit kann man sich selbst helfen. Ohne das, wird Software Entwicklung schwer / quasi unmöglich.