Generell rate ich vom WebBrowser Control ab, da:
- Das WebBrowser Control verwendet die IE6 Engine, das heist:
- Exploits können ausgeführt werden
- Seiten können zum Teil nicht richtig dargestellt werden
- Sehr langsamer Seitenaufbau
- Das Laden von Bildern kostet ca. das 5 – 6 fache an Ladezeit
- Multithreading nicht möglich
- Keine Kontrolle über Abläufe was der Browser macht (auser die Document_Loaded Events)
- Schwer Formulare auszufülllen
|
(Entnommen aus einem Blogpost vor Ewigkeiten).
Die Alternative heißt HttpWebRequest. Damit kommunizierst Du direkt mit dem Server mit WebRequests, wie sie der Browser auch sendet. Und genügend Argumente hab ich ja oben genannt
Wenn Du es dennoch mit dem WebBrowser Control machen willst, dann hätte ich vielleicht auch eine Lösung:
Manchmal klappt das "Drücken" von dem Button nicht, also kannst Du dem IE Control sagen, dass er die Form direkt senden sollte. Hier mal ein Code, der alle Forms auf der Seite durchläuft und Absendet, musst Dir halt die richtige Raussuchen (hat ja leider keinen Namen/ID).
foreach (HtmlElement form in webBrowser1.Document.Forms) form.InvokeMember("submit");
Alternativ mal den o.g. Code in das WebBrowser Event Completed eintragen, daran liegt es auch manchmal.
Viel Erfolg!