.Net c#Web浏览器填充输入,不带id或类名

本文关键字:id 不带 c#Web 浏览器 填充 输入 Net | 更新日期: 2023-09-27 18:28:04

我需要在Web浏览器中填写一个输入,但这不起作用。我认为这必须与名称属性有关,但如何做到呢?

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)。

.Net c#Web浏览器填充输入,不带id或类名

您尝试过以下方法吗:

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

也许这个工作

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