Forum: PC-Programmierung Mit C# Steuerzeichen "ENTER" an Textarea in Webseite senden


von Matt B. (mattb)


Lesenswert?

Hallo,

ich arbeite an einem Programm um diverse Informationen von einer 
Homepage automatisch auszulesen. Soweit funktioniert dies ganz gut.

Um auf die entsprechende Seite zu gelangen muss ich vorher allerdings 
eine spezifische ID in eine Textarea eintragen und die Eingabe mit 
"Enter" bestaetigen.
Das wurde ich auch gerne automatisieren.

Das Eintragen der ID funktioniert auch schon. Aber ich weiss nicht, wie 
ich mit C# ein Steuerzeichen an die Textarea schicken kann.

Hier ein Ausschnitt aus meinem Code:
1
HTMLDocument wd = (HTMLDocument)wb.Document; //wb ist vom Typ IWebBrowserApp
2
IHTMLElement textarea = wd.getElementByID([textarea-ID]):
3
4
textarea.innerHTML = "123456";
5
// Hier sollte die Eingabe mit ENTER bestaetigt werden

Danke fuer jede Hilfe

Mathias

von Läubi .. (laeubi) Benutzerseite


Lesenswert?

Ein "Enter" sendet einfach die (default) Formularaction aus, du musst 
also einfach das Formular in welchem das Textfeld (Texarea ist was 
anderes!) enthalten ist absenden.

von Peter II (Gast)


Lesenswert?

Läubi .. schrieb:
> Ein "Enter" sendet einfach die (default) Formularaction aus, du musst
> also einfach das Formular in welchem das Textfeld (Texarea ist was
> anderes!) enthalten ist absenden.

oder es wird per javascript gemacht, und daraus ein ajax request 
erzeugt.

von Matt B. (mattb)


Lesenswert?

Also so wie der Quellcode aussieht, wird es mit Javascript gemacht. Ich 
werd mal nach "ajax request" suchen. Bei weiteren Fragen melde ich mich 
wieder.

Bzw. ich nehme auch gerne Tipps, Links usw. an ;-).

Danke schon mal!

von Matt B. (mattb)


Lesenswert?

Ich habe gleich nochmal eine Frage.
In dem Quellcode sind diverse Funktionen definiert. Gibt es eine 
Moeglichkeit herauszufinden, welche Funktion beim manuellen Betaetigen 
der Enter-Taste aufgerufen wird? Da es sich um geschaetzte 100 
Funktionen handelt waere das Durchprobieren etwas muehselig.

Danke!

von Läubi .. (laeubi) Benutzerseite


Lesenswert?

Firefox mit FireBug oder IE8 Webdeveloperconsole z.B.
Bei Firebug siehst du in der Konsole (in den Optionen aktivieren) auch 
welche Ajaxrequest abgesendet werden.

von Matt B. (mattb)


Lesenswert?

Nur damit ich nicht was falsches Annehme:
Ich nehme an, dass wenn die Enter-Taste gedrueckt wird waehrend der 
Cursor in meinem Textfeld steht, ein Funktion aufgerufen wird. Denn wenn 
der Cursor nicht in dem Textfeld steht geschieht nichts.

Daher habe ich mir den HTML Quellcode nochmal etwas genauer angeschaut. 
Dabei habe ich 2 Funktionen gefunden, die den Inhalt meines Textfeldes 
verarbeiten und eine Funktion, in deren Name die ID meines Textfeldes 
enthalten ist.

Die Funktion mit der Textfeld-ID im Namen ruft dabei die anderen beiden 
auf.

Folglich habe ich versucht diese Funktion aus meinem C#-Programm 
aufzurufen. Allerdings ohne Erfolg.

Die Suche im Netz hat mich hier leider auch nicht weiter gebracht.

Kann mir jemand vielleicht einen Link zu einer Seite oder einen 
Codeausschnitt geben?

von Läubi .. (laeubi) Benutzerseite


Lesenswert?

Matt B. schrieb:
> Kann mir jemand vielleicht einen Link zu einer Seite oder
> einen Codeausschnitt geben?
Könntest du vielleicht einfach den Codeauschnitt oder Link zu der Seite 
geben?
Die beiden Funktionen dienen (vermutlich) der Validation die Einfach 
aufzurufen bringt doch nix wenn man nicht weiß was sich dahinter 
verbirgt...
Du kannst auch versuchen einfach keydown/keypress/keyup events an das 
Control zu senden (mit dem Keycode für Return):
http://msdn.microsoft.com/en-us/library/aa752279%28v=vs.85%29.aspx

von Peter II (Gast)


Lesenswert?

ich denke das ist der komplett falsche ansatz.

Was willst du denn machen, dein ziel ist doch nicht wirklich das 
Formular auzufüllen sondern du willst beistmmt Infos von einem Webserver 
abfragen.

Also würde ich einfach eine passene GET/Post abfrage direkt an den 
webserver schicken. Dabei ist es egal wie es diese webseite mit 
javascript macht am ende kommt auch nur eine http abfrage (oder mehere) 
raus.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.