.Net c#webbrowser填充没有id或classname的输入

时间:2014-10-28 15:17:22

标签: javascript c# .net ajax browser

我需要在webbrowser中填写输入,但这不起作用。我认为必须使用名称属性,但如何?

foreach (HtmlElement login in webBrowser1.Document.GetElementsByTagName("input"))
{
     if (login.GetAttribute("name") == "username")
     {
        login.SetAttribute("value", "xyz");

     }
 }

对于这些数据:

<input class="lfFieldInput" type="text" name="username" maxlength="30" 
autocapitalize="false" autocorrect="false" value="" data-reactid=".0.0.0.1">

但是代码没有填充数据(xyz)。

2 个答案:

答案 0 :(得分:1)

您是否尝试过以下方式:

IHTMLElementCollection inputElements = webBrowser1.Document.GetElementsByTagName("input")

foreach (HtmlElement login in inputElements)
{
   if (login.GetAttribute("name") == "username")
   {
      login.SetAttribute("value", "xyz");

   }
}

答案 1 :(得分:1)

也许这项工作

HtmlElementCollection col = webBrowser1.Document.GetElementsByTagName("input");
foreach (HtmlElement element in col)
        {
            if (element.GetAttribute("name").Equals("username"))
            {                   
                element.SetAttribute("value", "xyz");
            }
         }