setzen Hallo, ich mache ein Automatisierungsprogramm. der Start des Programms istIch kann Web Textbox Wert nicht mit wpf
und hier ist der HTML-Tag
<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>
aber, warum ich den Wert des Passworts Textbox festlegen kann nicht anmelden.
im mit wpf und awesomium
ich die Textbox Wert des Benutzernamen festlegen können, aber ich kann den Wert des Passworts nicht gesetzt
hier ist mein Code
wb.ExecuteJavascript(String.Format("document.querySelector('#login').value = '{0}'", txtUsername.Text));
wb.ExecuteJavascript(String.Format("document.querySelector('#password').value = '{0}'", txtPassword.Text));
wie kann Ich setze den Wert des Passwortes? Es verwendet keine ID? Danke. verwenden Sie es Attribut name
Ich habe versucht, die in Web-Browser gebaut mit, und ich kann es
hier ist der Code funktioniert:
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: Lösung: Ich habe die awesomium GeckoFX. und konvertieren Sie den Code oben mit dem Code von GeckoFX
Ich habe versucht Ihren Code, aber es funktioniert immer noch nicht. Ich gebe mir keinen Fehler. Es fügt auch keinen Wert für das Passwort –
Es scheint zu diesem JsFiddle zu arbeiten: https://jsfiddle.net/L4yrjfmz/ Auch sah, dass name = 'password' sollte name = \ "password \" (Vielleicht ist das das Problem in meinem Code) –
Der aktualisierte Code, den Sie gepostet haben, funktioniert. Danke –