Lukas S. Posted March 27, 2012 at 06:03 PM Report #445988 Posted March 27, 2012 at 06:03 PM Public Class Form1 Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click WebBrowser1.Navigate("www.youtube.com") End Sub Private Sub WebBrowser1_DocumentCompleted(ByVal sender As System.Object, ByVal e As System.Windows.Forms.WebBrowserDocumentCompletedEventArgs) Handles WebBrowser1.DocumentCompleted Dim allelements As HtmlElementCollection = WebBrowser1.Document.All For Each webpageelement As HtmlElement In allelements ListBox1.Items.Add(webpageelement.GetAttribute("src")) Next For i As Integer = 0 To ListBox1.Items.Count - 1 If ListBox1.Items.Item(i) = " ".ToString Then ListBox1.Items.Remove(i) End If Next End Sub End Class Soo... O que eu pretendo fazer é poder obter todos os elementos de uma página para mais tarde conseguir fazer manipulação de botôes online podendo assim talvez até mesmo criar um Bot que necessito 😁 O problema... Bem o problema é que muitos dos elementos bem não tem source entao eu nao consigo tirar o Branco ... já tentei com o " If ListBox1.Items.Item(i) = " ".ToString Then " mas nada consegui ... se alguém poder ajudar pfv dê ai a sua opiniao E o Impossível foi criado por pessoas fracas pra acabar com o sonho das pessoas fortes. Não deixes que acabem com o teu. Sonha , luta , ambiciona e realiza. Se amas , se gostas tu vais conseguir. Cala todas as pessoas que um dia duvidaram de ti e prova que foste mais forte de qualquer outro.
ribeiro55 Posted March 28, 2012 at 08:53 AM Report #446063 Posted March 28, 2012 at 08:53 AM " ".ToString não faz sentido. " " já é uma explícitamente string. Como estás a apanhar todos os elementos, e nem todos têm o atributo, deverias antes tentar perceber o que é que é devolvido nesses casos. Ainda assim, experimenta com trim: For i As Integer = ListBox1.Items.Count - 1 To 0 Step -1 If ListBox1.Items.Item(i).Trim = String.Empty Then ListBox1.Items.Remove(i) End If Next Sérgio Ribeiro "Great coders aren't born. They're compiled and released""Expert coders do not need a keyboard. They just throw magnets at the RAM chips"
Lukas S. Posted March 28, 2012 at 03:35 PM Author Report #446162 Posted March 28, 2012 at 03:35 PM Estranho ribeiro porque eu tentei por sem ser .ToString e causava erro E o Impossível foi criado por pessoas fracas pra acabar com o sonho das pessoas fortes. Não deixes que acabem com o teu. Sonha , luta , ambiciona e realiza. Se amas , se gostas tu vais conseguir. Cala todas as pessoas que um dia duvidaram de ti e prova que foste mais forte de qualquer outro.
ribeiro55 Posted March 28, 2012 at 03:38 PM Report #446164 Posted March 28, 2012 at 03:38 PM Não era, garantidamente, dali. Quanto muito, terias de colocar: ListBox1.Items.Item(i).ToString = " " Porque o objecto que espetas para a listbox pode não ter representação decente. Pensando bem, até é melhor colocares o .ToString como te digo acima: no Item(i) Já experimentaste com o Trim ? Sérgio Ribeiro "Great coders aren't born. They're compiled and released""Expert coders do not need a keyboard. They just throw magnets at the RAM chips"
Lukas S. Posted March 28, 2012 at 04:59 PM Author Report #446173 Posted March 28, 2012 at 04:59 PM já exprimentei e nada deu ... estranho nunca tinha ouvido falado do trim ... pra que serve ? E o Impossível foi criado por pessoas fracas pra acabar com o sonho das pessoas fortes. Não deixes que acabem com o teu. Sonha , luta , ambiciona e realiza. Se amas , se gostas tu vais conseguir. Cala todas as pessoas que um dia duvidaram de ti e prova que foste mais forte de qualquer outro.
Andrepereira9 Posted March 28, 2012 at 07:26 PM Report #446187 Posted March 28, 2012 at 07:26 PM Boas Tens 3 opções de Trim: -> Trim serve para remover espaços no inicio e no fim de uma string. -> TrimEnd remove os espaços no final da string -> TrimStart remove espaços no inicio da string A informática chegou para resolver problemas que antes não existiam Quem ri por último é porque está conectado a 52 Kbs.
ribeiro55 Posted March 29, 2012 at 09:03 AM Report #446222 Posted March 29, 2012 at 09:03 AM já exprimentei e nada deu ... estranho nunca tinha ouvido falado do trim ... pra que serve ? Dar até dá. Só não reparei que estavas a utilizar .Remove(i). Um dos grandes problemas do pessoal com as listbox é não entenderem que os items não são forçosamente Strings. É mantida uma coleção de objectos. Ao fazeres .Remove(i), ele vai tentar eliminar um item do tipo Integer com o número i, ou seja, não elimina coisa nenhuma. Podes resolver o problema com RemoveAt(i), que já indica explicitamente que é o índice e não o item: For i As Integer = ListBox1.Items.Count - 1 To 0 Step -1 If ListBox1.Items.Item(i).Trim = String.Empty Then ListBox1.Items.RemoveAt(i) End If Next Deixo-te com uma alternativa que te poupa o teres de fazer dois conjuntos de iteração: Public Class Form1 Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click WebBrowser1.ScriptErrorsSuppressed = True WebBrowser1.Navigate("www.youtube.com") End Sub Private Sub WebBrowser1_DocumentCompleted(ByVal sender As System.Object, ByVal e As System.Windows.Forms.WebBrowserDocumentCompletedEventArgs) Handles WebBrowser1.DocumentCompleted For Each webpageelement As HtmlElement In WebBrowser1.Document.All Dim srcatt As String = webpageelement.GetAttribute("src") If Not srcatt.Trim = String.Empty Then ListBox1.Items.Add(srcatt) Next End Sub End Class Sérgio Ribeiro "Great coders aren't born. They're compiled and released""Expert coders do not need a keyboard. They just throw magnets at the RAM chips"
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now