visualbasic
Goto Top

Vb.net Webbrowser Textbox ansteuern, Text reinschreiben, Enter drücken

hallo
ich möchte an dieser Textbox
<input type="password" class="stylepwd" name="login:command/password" size="12" maxlength="12" id="pass">  
eine zeichenfolge eintragen und anschließend mit
<code vb>sendkeys.sendwait(chr(13)) bestätigen.
Mit <code vb>sendkeys.sendwaut(zeichenfolge & chr(13)) dauerts zu lang und ist es zu schlecht.
Wie kann ich das Teil dann ansprechen?
Bei Google funktioniert ja super mit <www.youtube.com/watch?v=AV2tk2FTM0g&t=181 dem>, aber wie mache ichs da?

Bin erst 14 (gestern geworden!), programmiere auch schon ein Jahr, aber ich finde echt nichts dazu...
P.S. Ja die Homepage www.google.com ist mir bekannt -face-smile

Was soll ich machen?

mfg CHris

back-to-top Habs jetzt geschafft! Ohne eure Hilfe

Content-ID: 191020

Url: https://administrator.de/contentid/191020

Ausgedruckt am: 15.11.2024 um 21:11 Uhr

MonoTone
MonoTone 11.09.2012 um 13:41:58 Uhr
Goto Top
Möchtest du das zwingend mit dem Webbrowsercontrol erledigen?
visualbasic
visualbasic 11.09.2012 um 16:27:39 Uhr
Goto Top
Zitat von @MonoTone:
Möchtest du das zwingend mit dem Webbrowsercontrol erledigen?
muss nicht sein, wäre aber toll; wenn es ohne einfacher ist, dann mach ichs so
MonoTone
MonoTone 12.09.2012 aktualisiert um 10:47:06 Uhr
Goto Top
Sowas erledigt man üblicherweise über einen WebRequest.
Dabei solltest du die Webseite untersuchen und die POST (bzw. GET) Parameter anschauen.
Diesen Post und die Parameter mit entsprechenden Werten sendest du via .NET WebRequest an den Host.

Die zurückgesendeten Daten kannst du dann entsprechend auswerten.
visualbasic
visualbasic 12.09.2012, aktualisiert am 13.09.2012 um 13:02:41 Uhr
Goto Top
Zitat von @MonoTone:
Diesen Post und die Parameter mit entsprechenden Werten sendest du via .NET WebRequest an den Host.
Danke; die "Webseite" hat die IP 192.168.2.1
MonoTone
MonoTone 12.09.2012 um 15:14:36 Uhr
Goto Top
visualbasic
visualbasic 13.09.2012 um 13:04:12 Uhr
Goto Top
Danke, bringt mich schon mal ein Stück weiter;
wie mache ich das z.B. an der Textbox
<code plain><input type="password" class="stylepwd" name="login:command/password" size="12" maxlength="12" id="pass">
MonoTone
MonoTone 13.09.2012 um 13:09:51 Uhr
Goto Top
Was möchtest du denn letzlich erreichen?
visualbasic
visualbasic 13.09.2012 um 13:15:14 Uhr
Goto Top
Zitat von @MonoTone:
Was möchtest du denn letzlich erreichen?
Das ist eine Textbox aus dem Router; ich möchte dass wenn ich auf nen Button klick, dass dann eine Request gestartet wird, der dann "2003" an den "Server" senden und mich einloggt.
bzw. ein programm mit dem ich mach eben die IP vom Router ändern kann, NAS konfigurieren kann, Firewall ein/aus schalten kann. Da ich jetzt nicht an das Programm kann, kann ich den Fehler auch nicht genau sagen; aber ich glaube er war:
<code plain>system.nullreferenceexception
MonoTone
MonoTone 13.09.2012 um 13:31:36 Uhr
Goto Top
Grundsätzlich musst du dir anschauen, welche Parameter gesendet werden.
Für Firefox gibts zB das Addon HttpFox.
Mit diesem siehst du, welche Daten gesendet werden.

zB für den Aufbau dieser Seite ein PHPSESSID Cookie.
Beim Absenden einer Form. Wie zB ein Login werden die eingegeben Daten (User und Pw) üblicherweise via Post request und Post Parameter gesendet.
Die können zB lauten:
benutzer=dieter&kennwort=passw0rt

Diesen Request musst du nachbauen, ggf. Cookies auslesen und bei den nächsten Requests wieder mitsenden.
visualbasic
visualbasic 13.09.2012 aktualisiert um 17:28:38 Uhr
Goto Top
Danke

Zitat von @MonoTone:
Grundsätzlich musst du dir anschauen, welche Parameter gesendet werden.
Wo?

Für Firefox gibts zB das Addon HttpFox.
Ich habe Google Chrome; trotzdem danke!

zB für den Aufbau dieser Seite ein PHPSESSID Cookie.
Die seite ist kein PHP und verfügt über keine Session-Identification


Welcher Param ist dann wichtig bei
<code plain><input type="password" class="stylepwd" name="login:command/password" size="12" maxlength="12" id="pass">?

Bei Google brauch ich z.B.
Browser.Document.GetElementById("q").SetAttribute("value", "SearchString")  
weil bei Google <code plain><input id="gbqfq" class="gbqfif" name="q" type="text" autocomplete="off" value="" style="border: none;[....] drin steht; da wird also Bei "ByID" der "name=""" verwendet.

Wenn ich jetzt aber ein <code vb>Browser.Document.GetElementById("login:command/password").SetAttribute("value", "2003)
reinschreib, geht es genauso wenig wie bei <code vb>Browser.Document.GetElementById("pass").SetAttribute("value", "2003)

Was soll ich dann machen?