ASP.NET, Coding

How to Automate Web Browser using VB.NET

Have you ever felt a need to automate data extraction and data posting to websites? If yes then here is a small tutorial which will put you in the right direction. I have exploited the WebBrowser control in VS 2005 to automate the login and logout process on I have created a test account for this purpose. This is only for educational purpose.

First create a blank VB.NET Windows Application project using Visual Studio 2005. Now add a WebBrowser control on the form. Now add a reference to Microsoft.mhtml library which will give us the functions to control the entire HTML page including individual controls. I have named my WebBrowser control as wb. So keep in mind as I will be calling WebBrowser control as wb in my rest of the article.

This code below show how to use wb to open a website.

wb.Navigate("", False)
While wb.ReadyState <> WebBrowserReadyState.Complete
Application.DoEvents() 'Process all other windows messages in the queue
End While

Declare an HTMLElement type to get a list of all the elements on that page.

Dim elm As System.Windows.Forms.HtmlElement

Now loop through the entire list of elements

For i As Integer = 0 To wb.Document.All.Count - 1
elm = wb.Document.All.Item(i) 'This will give the current element in the loop

Now you can get the required contol type

If elm.TagName.ToUpper() = "INPUT" Then

And then retrieve the actuall control name

If CType(elm, System.Windows.Forms.HtmlElement).Name = "login_user" Then 'Get User ID Element

Now Set the desired value to that control

CType(elm, System.Windows.Forms.HtmlElement).InnerText =

Finally when all values are populated click the submit button of the proper form containing the above set controls.


Screenshot of the application

How to Automate Web Browser using VB.NET

Note: You can download the source for this sample application attached with the article.