пытаясь войти в веб-форму в коде
Вопрос
Это форма
<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>
Кнопка DOSENT имеет имя, поэтому я топлю, как сделать это на работу? У каждой кнопки есть идентификатор или имя, поэтому я не могу использовать GetElementbyId или GetelementsByName
webBrowser1.Document.All.GetElementsByName("j_username")[0].SetAttribute("Value", "************");
webBrowser1.Document.All.GetElementsByName("j_password")[0].SetAttribute("Value", "******");
webBrowser1.Document.All["Login"].InvokeMember("click");
;
У кого-нибудь есть предложение?
Решение
Вы могли бы использовать 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");
}
}
Я знаю, что есть более короткие способы сделать это, используя LINQ, однако я думаю, что это самый яркий пример того, что происходит.
Не связан с StackOverflow