2013-08-28 290 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和你很好去..

相关问题