2014-10-21 33 views
1

我試圖在我的程序中進行自動登錄。GetElementById在某些方框中不起作用

這是我用找到的郵箱,然後設置值的代碼: WebBrowser1.Document.GetElementById( 「電子郵件」)的setAttribute( 「價值」,ID &「@hotmail。 COM「)

如果我昆蟲電子郵箱的元素,它說輸入類=」文本框」 TYPE =‘電子郵件’NAME =‘電子郵件’

我在做什麼錯? :L

回答

2

參考id而不是名稱。即 「email_ema」 而不是 「電子郵件」

輸入名字= 「電子郵件」 類型= 「按鈕」 ID = 「email_ema」 值= 「+」 風格= 「顯示:無;」 ......

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

感謝您的答覆!我如何找到某些東西的ID? – Owen 2014-10-22 00:23:33

1

元素不一定要有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 
+0

感謝您的回覆。我不確定代碼應該做什麼,但我嘗試了它,但它沒有做任何事情。我將名稱和輸入以及所有這些字符串更改爲「電子郵件」,但它也沒有做任何事情。我對VB.NET很陌生,所以我不太瞭解... – Owen 2014-10-22 02:42:32