GetElementById无法处理某些框

时间:2014-10-21 23:32:18

标签: vb.net

我正在尝试在我的程序中自动登录。

这是我用来查找邮箱的代码,然后设置值: WebBrowser1.Document.GetElementById(“email”)。SetAttribute(“value,”,ID&“@ hotmail.com”)

如果我阻止电子邮箱的元素,它说输入class =“textbox”type =“email”name =“email”

我做错了什么? :L

2 个答案:

答案 0 :(得分:2)

请参阅id而不是name。即" email_ema"而不是"电子邮件"

输入姓名="电子邮件"类型="按钮" ID =" email_ema"值=" +"风格="显示:无;" ...

WebBrowser1.Document.GetElementById("email_ema").SetAttribute("value,", ID & "@hotmail.com")

答案 1 :(得分:2)

元素不一定必须有ID。

http://msdn.microsoft.com/en-us/library/system.windows.forms.htmldocument.getelementsbytagname(v=vs.110).aspx

如果是这种情况,你应该看一下通过GetElementsByTagName获取一个集合并循环遍历这些内容:

Dim Elems As HtmlElementCollection 

Elems = WebBrowser1.Document.GetElementsByTagName("input")

For Each elem As HtmlElement In Elems
   Dim nameValue As String = elem.GetAttribute("name")
      If nameValue.ToLower().Equals("email") Then 
          elem.SetAttribute("value,", ID & "@hotmail.com")
      End If 
Next