C# Webbrowser Text in Textfeld eingeben?

...komplette Frage anzeigen

4 Antworten

Du kannst über die Webbrowser.Document-Eigenschaft auf das Dokument und seine Bestandteile zugreifen. Wie genau das geht, solltest du in der Hilfe dazu finden. Die Syntax und die Bezeichnungen dürften ähnlich sein wie in JavaScript und HTML.

Antwort bewerten Vielen Dank für Deine Bewertung

Geht nicht. C# ist die falsche Sprache dafür, du könntest höchstens ein Plugin schreiben dass mit C# interagiert, aber kleiner Nutzen hoher aufwand, du kannst das auch mit deinem Browser oder JavaScript machen.

Antwort bewerten Vielen Dank für Deine Bewertung
DasesColles 10.04.2016, 20:32

Das muss gehen, denn ich könnte das machen als der <input> ein Attribut mit id hatte.

0
androhecker 10.04.2016, 20:35

Du musst dich schon mal klar ausdrücken, wie schon gesagt, ich würde der Seite einfach ein Script injezieren.

0
DasesColles 10.04.2016, 20:53
@androhecker

Hier mal die lange/ausführliche Version meines Vorhabens:

Vorab die Webseite gehört mir nicht!

Ich möchte eine Anwendung in C# programmieren, welche die Website in einem Webbrowser(wb) läd. Das dort befindliche Formular(Website) soll per Knopfdruck automatisch ausgefüllt werden. Eines der Felder ist im Html-Code mit id="bla" bestückt. Dort gebe ich über folgenden Code etwas ein.

HtmlDocument htmldoc = wb.Document;
htmldoc.All["bla"].InnerText = "Sample";

Nun habe ich aber das Problem, dass eines der Felder NICHT mit id bestückt ist. Nun ist meine Frage, wie kann ich genau in dieses Feld Text einfügen?

0
CrystalixXx 11.04.2016, 17:28

Natürlich geht das in C#, wenn man in der Anwendung eine HTML-Seite anzeigen lässt (typischerweise in einem Webbrowser-Steuerelement).

Ratschläge sind selten klug, wenn sie aus Unwissenheit rühren.

0
androhecker 11.04.2016, 19:16

Das liegt daran, dass die Frage nicht klar ausgedrückt war, auf StackOverflow gäbe so etwas einen Strike...

0

Das WebBrowser-Control bietet dafür eine geeignete Schnittstelle über DOM oder andere Eigenschaften.

Eine Möglichkeit wäre über die Document-Eigenschaft das Element mit der entsprechenden ID (respektive Name) zu ermitteln und das Attribut neuzusetzen. Irgendwas wie:

Webbrowser.Document.getElementByTagName("input").getElementByName("geld").item(0).setAttribute("value", "10")
Antwort bewerten Vielen Dank für Deine Bewertung

C#? Du meist JavaScript :)

Antwort bewerten Vielen Dank für Deine Bewertung
DasesColles 10.04.2016, 20:27

Nein, ich meine schon C#. Ich habe die Website in meiner C# Anwendung geladen und möchte sozusagen automatisch das Formular auf der Webseite ausfüllen lassen und das eben per Knopfdruck.

0
CrystalixXx 11.04.2016, 17:27
@poldiac

Das ist vielleicht eine Unachtsamkeit deinerseits, aber der verlinkte Beitrag hilft da nicht weiter, denn es handelt sich dabei um ASP.NET. Das hat erstmal nichts mit WinForms zu tun (worauf der Fragesteller abzielt).

0
poldiac 11.04.2016, 17:32
@CrystalixXx

hab nur auf die Schnelle gegoogelt - mein Fehler - danke Dir

0

Was möchtest Du wissen?