Laden...

C# -WPF WebControl

Erstellt von Gembolum vor einem Jahr Letzter Beitrag vor einem Jahr 659 Views
G
Gembolum Themenstarter:in
9 Beiträge seit 2021
vor einem Jahr
C# -WPF WebControl

Hallo zusammen,

wir haben eine Waage, mit der wir immer manuell das Gewicht in eine Webseite eintragen.

Mein gedanke ist, dass hier eine kleine WPF Anwendung die WebSeite über das WebControll öffnet und via z.B. F2 den Wert in das focusierte Feld einträgt.

Das auslessen des Werts über F2 und ausgabe in eine bestimmte TextBox innerhalb der Anwenung habe ich schon erfolgreich getestet.

Wie kann ich das jetzt aber innerhalb des WebContorls an ein Element übergeben, dass den Focus hat?
Noch besser were eine möglichkeit, das immer nur ein Bestimmtes Textfeld der Seite angesprochen wird. Egal ob es den Focus hat oder nicht.

Ist das möglich und kann mir hier wer ein Tipp geben?

Vorab schonmal danke für eure Hilfe.

G
Gembolum Themenstarter:in
9 Beiträge seit 2021
vor einem Jahr

Sorry für den doppelpost, aber kann man sein Beitrag nur einmal editieren???

Für WinForms habe ich was passendes gefunden und konnte mit folgendem Code und der Seite Google.com testen.
Sicher geht das doch dann auch in WPF, oder?


private void button2_Click(object sender, EventArgs e)
{
     for (int i = 0; i < webBrowser1.Document.Forms.Count; i++)
     {
           HtmlElement element = webBrowser1.Document.Forms[i].All[i];

            if (element != null && element.GetAttribute("value").Equals(""))
            {
                webBrowser1.Document.All["q"].SetAttribute("value", textBox2.Text);
                webBrowser1.Document.Forms[i].InvokeMember("submit");
            }
       }
}

16.806 Beiträge seit 2008
vor einem Jahr

Das eingebaute Browser Control ist völlig veraltet und wird auch nicht mehr aktualisiert.
Siehe dazu auch die Warning in WebBrowser Class (System.Windows.Controls).
Das Browser Control basiert auf dem Internet Explorer 7 aus 2006.

Willst Du weiterhin eingebaute Browser Features verwenden, dann verwende zB WebView2, die Engine des neuen Edge Browsers.
Get started with WebView2 in WPF apps - Microsoft Edge Development

Sorry für den doppelpost, aber kann man sein Beitrag nur einmal editieren???

Man kann seinen Beitrag 30 Minuten lang editieren.

G
Gembolum Themenstarter:in
9 Beiträge seit 2021
vor einem Jahr

Danke für die Unterstützung. Habe es mit WebView2 jetzt hinbekommen.

Leider hat sich jetzt noch ein Problem ergeben.

Ich öffne mit meinem Tool eine von SAP generierte Seite. An einem PC mit Single Sign-on geht es wunderbar.
Bei anderen Rechnern öffnet sich im Edge HTTP-Authentication (?) und der MA gibt seine Daten an.

Beim öffnen der Seite in meinem Tool wird das Anmeldefenster nicht geöffnet. Die Seite bleibt weiß und man kann nicht arbeiten.

Bei einem Test mit der Seite https://authenticationtest.com/HTTPAuth/ geht es jedoch.

Hat hier jemand schon Erfahrungen?

16.806 Beiträge seit 2008
vor einem Jahr

Beim öffnen der Seite in meinem Tool wird das Anmeldefenster nicht geöffnet. Die Seite bleibt weiß und man kann nicht arbeiten.

Du wirst vermutlich (?) von OpenId Auth Code Flow sprechen; bisher ist mir kein Szenario bekannt, wo das nicht funktionieren soll.
Einzig Google als Authprovider versucht derzeit eingebettete Browser-Logins aktiv zu unterbinden.

G
Gembolum Themenstarter:in
9 Beiträge seit 2021
vor einem Jahr

Ok, problem gelöst.

Für das Verzeichnis hatte der TestUser nur ausführrechte. Nachdem der TestUser auch änderrechte hatte, ging es.

Die letzte Frage zu dem Thema:
Warum braucht man bei OpenId Auth Code änderrechte im Verzeichnis?
Habe es mir nach dem start angeschaut, hab keine änderungen (z.B. Datei) feststellen können.

Ist für Profis eventeull eine dumme Frage, aber ich möchte es als Neuling verstehen.