1. Public Class Form1
'Declare Class level variables
Dim strHTMLID As String
Dim strGCSU As String = "N"
Dim strRequests As String = "YES"
Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
' navigate to facebook bobcats exchange group
WebBrowser1.Navigate("https://www.facebook.com/groups/136791389785250/profile_completion/
")
WaitForPageLoad()
'Start Timer
Timer1.Start()
'Log In. Commented out because I am auto logged in
WebBrowser1.Document.GetElementById("email").SetAttribute("value", txtEmail.Text)
WebBrowser1.Document.GetElementById("pass").SetAttribute("value",
txtPassword.Text)
WebBrowser1.Document.GetElementById("u_0_2").InvokeMember("click")
WaitForPageLoad()
'click on 'Members Requests' button
Dim PageElements As HtmlElementCollection = WebBrowser1.Document.All
For Each CurElement As HtmlElement In PageElements
If CurElement.GetAttribute("ajaxify") =
"/groups/unified_queue/async_response/?queue=requests&groupid=136791389785250" Then
CurElement.InvokeMember("click")
End If
Next CurElement
End Sub
Private Sub btnGo_Click(sender As Object, e As EventArgs) Handles btnGo.Click
Timer1.Start()
End Sub
Private Sub btnNameClick_Click(sender As Object, e As EventArgs) Handles
btnNameClick.Click
'find name and click on it
Dim PageElements As HtmlElementCollection = WebBrowser1.Document.All
For Each CurElement2 As HtmlElement In PageElements
CurElement2.GetElementsByTagName("ul")
If CurElement2.GetAttribute("data-
hovercard").Contains("/ajax/hovercard/user") Then
ListBox1.Items.Add(CurElement2.InnerHtml)
strHTMLID = CurElement2.InnerHtml
CurElement2.InvokeMember("click")
Exit For
Else
strRequests = "NO"
End If
Next CurElement2
'condition if no more requests are on the page
If strRequests = "NO" Then
2. Timer1.Stop()
MessageBox.Show("No More Requests!")
strRequests = "YES"
Exit Sub
End If
WaitForPageLoad()
'search for GCSU in their innterhtml facebook page
Dim PageElements7 As HtmlElementCollection = WebBrowser1.Document.All
For Each CurElement As HtmlElement In PageElements7
If CurElement.OuterHtml.Contains("https://www.facebook.com/pages/Georgia-
College-State-University/108216109206808?ref=br_rs") Then
strGCSU = "Y"
Exit For
ElseIf CurElement.InnerHtml = ("Georgia College") Then
strGCSU = "Y"
Exit For
ElseIf CurElement.InnerHtml = ("GCSU") Then
strGCSU = "Y"
Exit For
ElseIf CurElement.InnerHtml = ("Georgia College & State University") Then
strGCSU = "Y"
Exit For
ElseIf CurElement.InnerHtml = ("Georgia College and State University") Then
strGCSU = "Y"
Exit For
ElseIf CurElement.InnerHtml = ("Georgia College And State University") Then
strGCSU = "Y"
Exit For
ElseIf CurElement.InnerHtml = ("Georgia College Learning Center") Then
strGCSU = "Y"
Exit For
End If
Next CurElement
Dim PageElements5 As HtmlElementCollection = WebBrowser1.Document.All
For Each CurElement As HtmlElement In PageElements5
If CurElement.InnerHtml = ("Middle Georgia College") Then
strGCSU = "N"
Exit For
Else
End If
Next CurElement
'go back to 'Members Requests' page
WebBrowser1.Navigate("https://www.facebook.com/groups/136791389785250/profile_completion/
")
WaitForPageLoad()
'click on 'Members Requests' button
Dim PageElements3 As HtmlElementCollection = WebBrowser1.Document.All
For Each CurElement As HtmlElement In PageElements3
If CurElement.GetAttribute("ajaxify") =
"/groups/unified_queue/async_response/?queue=requests&groupid=136791389785250" Then
CurElement.InvokeMember("click")
End If
3. Next CurElement
End Sub
'Sub Procedure to wait for Internet Explorer to load
Private Property pageready As Boolean = False
#Region "Page Loading Functions"
Private Sub WaitForPageLoad()
AddHandler WebBrowser1.DocumentCompleted, New
WebBrowserDocumentCompletedEventHandler(AddressOf PageWaiter)
While Not pageready
System.Windows.Forms.Application.DoEvents()
End While
pageready = False
End Sub
'Sub Procedure to wait for Internet Explorer to load
Private Sub PageWaiter(ByVal sender As Object, ByVal e As
WebBrowserDocumentCompletedEventArgs)
If WebBrowser1.ReadyState = WebBrowserReadyState.Complete Then
pageready = True
RemoveHandler WebBrowser1.DocumentCompleted, New
WebBrowserDocumentCompletedEventHandler(AddressOf PageWaiter)
End If
End Sub
#End Region
Private Sub btnDecision_Click(sender As Object, e As EventArgs) Handles
btnDecision.Click
'If they don't go to GCSU igrnore them
If strGCSU = "N" Then
Dim PageElements6 As HtmlElementCollection = WebBrowser1.Document.All
For Each CurElement As HtmlElement In PageElements6
CurElement.GetElementsByTagName("ul")
If
CurElement.GetAttribute("ajaxify").Contains("/ajax/groups/members/add_post") Then
If CurElement.InnerHtml.Contains("Ignore") Then
CurElement.InvokeMember("click")
ListBox1.Items.Add(" Ignored")
Exit For
End If
End If
Next CurElement
End If
'If they go to GCSU Approve them
If strGCSU = "Y" Then
Dim PageElements5 As HtmlElementCollection = WebBrowser1.Document.All
For Each CurElement As HtmlElement In PageElements5
CurElement.GetElementsByTagName("ul")
If
CurElement.GetAttribute("ajaxify").Contains("/ajax/groups/members/add_post") Then
If CurElement.InnerHtml.Contains("Approve") Then
strGCSU = "N"
CurElement.InvokeMember("click")
ListBox1.Items.Add(" Approved")
Exit For
End If
End If
Next CurElement
4. End If
End Sub
Private Sub btnExit_Click(sender As Object, e As EventArgs) Handles btnExit.Click
Me.Close()
End Sub
Private Sub Timer1_Tick(sender As Object, e As EventArgs) Handles Timer1.Tick
'display timer on label
txtTimer.Text += 1
'control the flow of the program based off the timer
If txtTimer.Text = 10 Then
btnNameClick.PerformClick()
End If
If txtTimer.Text = 25 Then
btnDecision.PerformClick()
txtTimer.Text = 1
End If
End Sub
End Class