【问题标题】:.Net c# webbrowser fill input without id or classname.Net c# webbrowser 填充没有id或类名的输入
【发布时间】:2014-10-28 15:17:22
【问题描述】:

我需要在 webbrowser 中填写一个输入,但这不起作用。我认为它必须使用 name 属性来完成,但是如何?

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

【问题讨论】:

  • 您发布的代码到底有什么问题?
  • 条件命中了吗?
  • @BenRobinson 代码未填充数据 (xyz)。
  • @digiogi 我想他明白了;)。但是你的代码甚至达到了 if 吗?
  • @Koen 不,它没有:(

标签: javascript c# .net ajax browser


【解决方案1】:

您是否尝试过以下方法:

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

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

   }
}

【讨论】:

    【解决方案2】:

    也许这个工作

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

    【讨论】:

      猜你喜欢
      • 2019-12-23
      • 2021-09-24
      • 2016-03-11
      • 1970-01-01
      • 2023-03-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多