C# WebBrowser

01/03/2014 06:44 QR~#1
Ahoi,

möchte per WebBrowser automatisch Daten in eine Form füllen und anschließend den Login-Button drücken.

Der HTML Code zum Button
Code:
<input type="submit" class="button btn-login" onclick="document.forms['loginFormElement'].submit();return false;" value="LOGIN">
Mein Code-Snippet
Code:
        private void Login()
        {
            foreach (HtmlElement button in webBrowser1.Document.Forms)
            {
                if(button.GetAttribute("type").Contains("submit"))
                {
                    button.InvokeMember("click");
                }
            }
        }
Daten automatisch einfüllen funktioniert super, nur den Button kriege ich nicht gedrückt.
Das funktioniert aber nicht. Mache ich es grundlegend falsch oder woran liegt es?
01/03/2014 13:05 tolio#2
mach nen invoke auf das submit der "loginFormElement"-form sonst nen invokescript auf das onclick-event
01/06/2014 18:55 EqoTime#3
Hier hast du was :)
habs genau für dein html element umgesetzt versuchs genau so :D
Code:
public void ClickButton(string type)
        {
            var button = webBrowser1.Document.GetElementsByTagName("input")
                     .Cast<HtmlElement>()
                     .FirstOrDefault(m => m.GetAttribute("type") == type);
            if (button != null)
                button.InvokeMember("click");
        }
und dann rufst du einfach mit
Code:
ClickButton("submit");
den Code aus. :)

MfG