Frage

Dies ist die Form

<form action="j_security_check" method="post">
<div id="editForm">

<h2>Login</h2>

<div class="errors"></div>

<div class="row">
    <span class="label">Username:</span>
    <span class="formw"><input type="text" name="j_username"></span>
</div>

<div class="row">
    <span class="label">Password:</span>
    <span class="formw"><input type="password" name="j_password"></span>

</div>

<div class="submit">
    <input type="submit" value="Login">
</div>
</div>

</form></body>

Mit der Schaltfläche dosent einen Namen hat so im in gestampft, wie diese zur Arbeit zu kommen? die Taste Döns eine ID oder Namen, so kann ich nicht die getElementByID oder getElementsByName

verwenden
webBrowser1.Document.All.GetElementsByName("j_username")[0].SetAttribute("Value", "************");
        webBrowser1.Document.All.GetElementsByName("j_password")[0].SetAttribute("Value", "******");
        webBrowser1.Document.All["Login"].InvokeMember("click");

;

jemand einen Vorschlag?

War es hilfreich?

Lösung

könnten Sie verwenden GetElementsByTagName

    HtmlElementCollection elems = webBrowser1.Document.GetElementsByTagName("INPUT");
    foreach (HtmlElement elem in elems)
    {
        String valueStr = elem.GetAttribute("value");
        if (valueStr != null && valueStr.Equals("Login"))
        {
            elem.InvokeMember("click");                
        }
    }

Ich weiß, dass es kürzere Wege, um diese mit LINQ zu tun, aber ich denke, das ist das deutlichste Beispiel dafür, was los ist.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top