VB.NET WebBrowser点击按钮

时间:2011-02-16 15:04:36

标签: vb.net button browser click autofill

我正在一个小型VB.NET项目中工作,该项目会自动填充Yahoo注册页面上的字段。有没有办法点击“检查”按钮,看看输入的ID是否正常?

如果输入的ID正常,则继续填写字段,如果没有,请尝试另一个ID并再次按“检查”按钮。

2 个答案:

答案 0 :(得分:5)

webbrowser控件允许您访问网页中的元素,并且可以调用它们上的方法,因此只需点击按钮即可:

webBrowser1.Document.All("yidHelperBtn").InvokeMember("click");

答案 1 :(得分:0)

为您的应用程序添加一个计时器,间隔为1000毫秒。这是代码:

Dim CheckButton, yahooId As HtmlElement
Private Sub WebBrowser1_DocumentCompleted(ByVal sender As System.Object, ByVal e As System.Windows.Forms.WebBrowserDocumentCompletedEventArgs) _ 

处理WebBrowser1.DocumentCompleted

    yahooId = WebBrowser1.Document.GetElementById("yahooid")
    CheckButton = WebBrowser1.Document.GetElementById("yidHelperBtn")

    yahooId.InnerText = "testID" 'Replace testID by the ID you want

    Timer1.Start() 'Starts the timer: within 1000 ms (1 s). It will execute the Timer1_Tick sub.

End Sub

Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick
    CheckButton.Focus() 'Give the check button the focus
    SendKeys.Send("{ENTER}") 'Causes the validation of the check button
    Timer1.Stop() 'Stops the timer 
End Sub

我添加了一个计时器,因为浏览器在WebBrowser1_DocumentCompleted方法中似乎没有验证Enter键。

使用此代码,您可以知道您输入的ID是否正常。它并不完整,但它是一个良好的开端,尝试理解并根据您的需求进行调整。