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 coderewind.com. 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("http://www.coderewind.com", 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 = test@test.com
Finally when all values are populated click the submit button of the proper form containing the above set controls.
wb.Document.Forms("formLogin").InvokeMember("submit")
Screenshot of the application
Note: You can download the source for this sample application attached with the article.