La verdad no entiendo porque sucede esto, desde hace muy poco que estoy programando en vb.net (advierto que mis conocimientos de programación no son muy acabados o pulcros)
Les comento, cree una funcion publica en la que existe un loop for each, que analiza los elementos html de una url.
Código:
y luego tengo un boton que acciona esta función, mi idea es que al finalizar la recopilacion de datos, y al finalizar completamente la función, exista un msgbox que indique que el proceso finalizo.Public Function ReadGroupList() Dim htmlcollection As HtmlElementCollection = WebBrowser1.Document.GetElementsByTagName("a") For Each anchorGroup As HtmlElement In htmlcollection Dim GroupCheck As String Dim GroupDetected As String Dim GroupDetectedDos As String GroupCheck = anchorGroup.GetAttribute("href") GroupDetected = Microsoft.VisualBasic.Left(GroupCheck, 32) GroupDetectedDos = Microsoft.VisualBasic.Left(GroupCheck, 33) If (GroupDetected = "https://www.facebook.com/groups/" And GroupDetectedDos <> "https://www.facebook.com/groups/?") Then Dim GroupUrl As String = GroupCheck Dim Delimitador_B As String = "?ref=bookmarks" GroupUrl = Split(GroupUrl, Delimitador_B, , CompareMethod.Text)(0) TextBox5.Text = TextBox5.Text & GroupUrl & Environment.NewLine End If Next End Function
Código:
está acción se realiza sólo si se accede a una url Especifica.Private Sub WebBrowser1_DocumentCompleted(sender As Object, e As WebBrowserDocumentCompletedEventArgs) Handles WebBrowser1.DocumentCompleted Dim GroupsUrlBrowser As String If WebBrowser1.Url() = New Uri("https://www.facebook.com/bookmarks/groups?exist") Then ReadGroupList() Label7.Text = "" MsgBox("Finished") End If End Sub
El PROBLEMA es que el msgbox aparece al menos 4 veces, por lo que deduzco que el loop no ha finalizado.
alguna ayuda para resolver esto ?
Atte
Isaac Escobar