Archiv verlassen und diese Seite im Standarddesign anzeigen : [VB .Net] Website Button klicken
Hallo,
hab wieder ein Prob mit dem drücken eines Buttons auf ner Website. Der Code sieht so aus:
<input class="mainoption" type="submit" value="Submit" name="post" tabindex="6" accesskey="s"/>
Mein VB .Net Code:
WebBrowser1.Document.GetElementById("post").InvokeMember("click")
Joah funzt nicht :D Jemand ne Lösung?
magerquark
12.07.2009, 17:19
mit
WebBrowser1.Document.Forms(0).InvokeMember("submit")
Sollte es funktionieren.
Ansonsten wäre es gut wenn du die Seite angeben könntest.
Ne funzt eben nicht, hab ich auch schon probiert. Die Seite möchte ich nicht angeben :D Vll weiss es trotzdem einer..
WebBrowser1.Document.GetElementById("post").InvokeMember("Submit")
oder
WebBrowser1.Document.GetElementById("post").InvokeMember("submit")
oder
WebBrowser1.Document.GetElementById("submit").InvokeMember("Submit")
etc
etc
muss doch gehen
magerquark
12.07.2009, 19:26
Hmm,
Das verwundert mich jetzt doch sehr.
Hab mir ne Testseite erstellt mit genau deinem Code.
Mit dem Code den ich oben gepostet habe gings ohne Probleme.
Passiert den gar nichts? Kommt eine Fehlermeldung?
Achja nur ums auszuschließen: Passiert was wenn du per hand drauf klickst ? :D
Ja wenn ich mit der Maus klicke, geht alles. Wenn ich nun den Code wie oben mache, passiert gar nichts :D Bei keinem :P
Edit/
Der ganze Code:
<td class="cat" height="28" align="center" colspan="2"><input type="hidden" value="newtopic" name="mode"/>
<input type="hidden" value="ed1f8156a45ff61bb9368ffa5918f10a" name="sid"/>
<input type="hidden" value="3" name="f"/>
<input class="liteoption" type="submit" value="Preview" name="preview" tabindex="5"/>
<input class="mainoption" type="submit" value="Submit" name="post" tabindex="6" accesskey="s"/>
Kriegste den Button durch .focus irgendwie markiert? Dann könnte man notfalls per Sendkey nen Enter senden.
Nicht fein, wenns aber anders nicht geht :D
Ja habs vorläufig so gemacht:
For i = 0 To 7
System.Windows.Forms.SendKeys.Send("{TAB}")
Next
System.Windows.Forms.SendKeys.Send("{Enter}")Aber wäre schön wenn jemand nen suaberen Code hat :)
Prototyp.Ger
14.07.2009, 15:10
Ja habs vorläufig so gemacht:
[CODE] For i = 0 To 7
System.Windows.Forms.SendKeys.Send("{TAB}")
Next
System.Windows.Forms.SendKeys.Send("{Enter}")[CODE]]Aber wäre schön wenn jemand nen suabeen ode hat :)
des ist ja schon schön & gut aber ich denke es wäre besser wenn jemand ein Code hat, womit man das Programm im Hintergrund laufen lassen kann
magerquark
14.07.2009, 15:18
Hat er doch geschrieben...
Aber wäre schön wenn jemand nen suaberen Code hat
Alles, was man im Internet so an Formularen o.Ä abschickt, kann man genauso gut mit einem oder mehreren ganz einfachen HTTP/Web-Requests ausführen.
Das Ganze birgt eine Vielzahl von Vorteilen:
Es ist schneller; sicherer; IE-unabhängig; man hat viel mehr Kontrolle darüber, was man tut; man muss sich nicht mit den IE-Eigenheiten (wie in diesem Fall) rumschlagen; es ist viel flexibler; erweiterbar; usw...
Den WebBrowser sollte man für sowas nur im äußersten Notfall (wenn überhaupt) verwenden.
Powered by vBulletin® Copyright ©2024 Adduco Digital e.K. und vBulletin Solutions, Inc. Alle Rechte vorbehalten.