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
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
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
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

Bobcat Exchange Program

  • 1.
    Public Class Form1 'DeclareClass 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 'SubProcedure 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 PrivateSub 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