C#HTML GetElementById.setAttribute在错误的文本框中输入

时间:2017-05-20 04:58:54

标签: c# html

我一直试图为我的游戏制作登录程序。

有一个网站
<input class="id" id="SiteId" maxlength="15" name="Id" style="width: 224px;ime-mode:inactive;" type="text" value="ID">

在登录页面的左侧就像这样,有

<input class="id txt_b" id="Id" maxlength="15" name="Id" style="width: 224px;ime-mode:disabled;" type="text" value="ID">

这在右页。我需要将我的价值观放在正确的位置,即ID&#34; Id&#34;。但它继续将值放在页面的右侧。我这样编码。

webBrowser1.Document.GetElementById("Id").SetAttribute("value", idText.Text);

此外,密码也不会将我的值放入其中。

HTML

<input type="password" id="Password" class="pws txt_b bg_pw2" maxlength="15" value="" style="width: 224px; ime-mode: disabled;">

C#代码

webBrowser1.Document.GetElementById("Password").SetAttribute("value", pwText.Text);

我该如何解决这个问题?我真的想完成它。谢谢。

1 个答案:

答案 0 :(得分:2)

您可以在网页上循环每个元素。并根据类名选择所需的对象。这是一个例子:

var inputs = webBrowser1.Document.GetElementsByTagName("input");
foreach (HtmlElement link in links)
{
    if (inputs.GetAttribute("className") == "id txt_b")
    {
        inputs.SetAttribute("value", idText.Text);
    }
}

以防万一,请根据您的情况检查inputs.GetAttribute(“className”)。