привет, я делаю программу автоматизации. начало программы для входаЯ не могу установить значение текстового поля в сети, используя wpf
и вот HTML теги
<form name="LoginForm" method="post" action="https://admin">
<input type="hidden" name="redirectURL" value="Admin/">
<input type="hidden" name="reason" value="LOGIN_REQUIRED">
<fieldset style="padding: 5px 5px 5px 5px;">
<table style="width: 100%">
<tr>
<th style="text-align: left">
<label for="login">
E-mail Address
</label>
</th>
<td style="width: 65%">
<input type="text" name="login" maxlength="80" value="" id="login" style="width:98%">
</td>
</tr>
<tr>
<td></td>
<td>
<div class="field_error" style="clear: left;">
</div>
</td>
</tr>
<tr>
<th style="text-align: left">
<label for="password">
Password
</label>
</th>
<td>
<input type="password" name="password" maxlength="64" value="" style="width:98%">
</td>
</tr>
<tr>
<td></td>
<td>
<div class="field_error" style="clear: left;">
</div>
</td>
</tr>
</table>
<hr style="visibility: hidden;"/>
<div style="width: 60px; margin-left: auto; margin-right: auto">
<input type="submit" name="action" value="Log In" style="text-align:center;" class="generic_button">
</div>
</fieldset>
</form>
, но почему я не могу установить значение пароля текстовое поле.
им с помощью WPF и Awesomium
я могу установить значение текстового поля имени пользователя, но я не могу установить значение пароля
вот мой код
wb.ExecuteJavascript(String.Format("document.querySelector('#login').value = '{0}'", txtUsername.Text));
wb.ExecuteJavascript(String.Format("document.querySelector('#password').value = '{0}'", txtPassword.Text));
как можно Я устанавливаю значение пароля? он не использует идентификатор? Спасибо. это использовать имя атрибута
я попытался с помощью встроенного веб-браузера, и я могу заставить его работать
здесь код:
System.Windows.Forms.HtmlElementCollection elems = wb.Document.GetElementsByTagName("input");
foreach (System.Windows.Forms.HtmlElement elem in elems)
{
String nameStr = elem.GetAttribute("name");
if (nameStr != null && nameStr.Length != 0)
{
if (nameStr == "login")
{
elem.SetAttribute("value", txtUsername.Text);
}
if (nameStr == "password")
{
elem.SetAttribute("value", txtPassword.Text);
}
}
}
Edit: Решение: я изменил Awesomium к geckofx. и преобразовывать код, приведенный выше с кодом geckofx
Я пробовал ваш код, но все же он не работает. я не даю мне ошибку. он также не добавляет значения для пароля –
Это похоже на работу с JsFiddle: https://jsfiddle.net/L4yrjfmz/ Также видно, что имя = 'password' должно быть name = \ "password \" (возможно, это проблема в моем коде) –
Обновленный код, который вы опубликовали. Спасибо –