2013-08-28 505 views
1

我想在Visual Studio 2012(Visual Basic)中使用WebBrowser來單擊按鈕。我做了大量的研究,但我可以找到的只是點擊一個ID或一個名字。Webbrowser單擊按鈕沒有ID或名稱

這裏是HTML代碼。

<button type='submit' class="btn btn-default" style='float:right'> 
    Login<i class="gicon-chevron-right"></i> 

我將有網頁瀏覽器隱藏,然後&當用戶單擊Button1的,它將調用web瀏覽器的點擊。請幫忙。

+0

你可以請張貼你到目前爲止的代碼?顯示你如何構建瀏覽器以及嘗試點擊按鈕的內容。 – varocarbas

回答

2

您需要逐個搜索您的元素。嘗試這樣的:

For Each elem As HtmlElement In wb1.Document.GetElementsByTagName("button") 
    ' Check the attributtes you want 
    If elem.GetAttribute("class") = "btn btn-default" Then 
     'Check even the text if you want 
     If elem.InnerText = "Login" Then 
      'Invoke your event 
      elem.InvokeMember("click") 
     End If 
    End If 
Next 

這將搜索文檔上的所有button元素。您可以通過包含您的按鈕有些元素具有ID或東西在裏面尋找縮小搜索:

Dim myElem As HtmlElement = wb1.Document.GetElementById("myContainerId") 
For Each elem As HtmlElement In myElem.GetElementsByTagName("button") 
    '... 
Next 
2

簡單的代碼:

WebBrowser1.Document.Forms(0).InvokeMember("submit") 
0
Dim HtmlElementcoll As HtmlElementCollection = WebBrowser1.Document.GetElementsByTagName("input") 
     For Each elem As HtmlElement In HtmlElementcoll 
      ' Check the attributtes you want 
      If elem.GetAttribute("value") = "Sign In" Then 
       'Check even the text if you want 
       ' If elem.InnerText = "Sign In" Then 
       'Invoke your event 
       elem.InvokeMember("click") 
       'End If 
      End If 
     Next 

我已經修改了上面的代碼和它的工作加HtmlElementCollection和你很好去..

相關問題