PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : [VB .Net] Website Button klicken



till7
12.07.2009, 17:11
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.

till7
12.07.2009, 17:33
Ne funzt eben nicht, hab ich auch schon probiert. Die Seite möchte ich nicht angeben :D Vll weiss es trotzdem einer..

LeadOr
12.07.2009, 17:36
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

till7
12.07.2009, 18:46
Geht alles nicht :D

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

till7
12.07.2009, 19:28
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"/>

DeXTer
12.07.2009, 19:31
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

till7
12.07.2009, 19:34
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

inout
14.07.2009, 15:26
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.