Usuário com melhor resposta
Como copiar dados de página do WebBrowser para Label?

Pergunta
-
Olá! Tudo bem com vocês? Então, preciso copiar a seguinte informação para uma Label: <div class="enc">R$0,00</div>
Usei este código para fazer login num site a partir de TextBox's:
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click WebBrowser1.Document.GetElementById("login").SetAttribute("value", TextBox1.Text) WebBrowser1.Document.GetElementById("passwd").SetAttribute("value", TextBox2.Text) WebBrowser1.Document.GetElementById("idSIButton9").InvokeMember("click") End Sub
Como faço para obter o valor do elemento <div class="enc">R$0,00</div> em uma Label?
Respostas
-
Amigo eu não sei bom como ta seu cenário mas, eu fiz um assim e sendo que minha página tem um resultado assim:
<html> <head> <title>Teste de pagina</title> </head> <body> <span class"enc">18</span> <span class"ten">19</span> </body> </html>
Códificação para pegar a class "enc":
Private Sub Form3_Load(sender As Object, e As EventArgs) Handles MyBase.Load WebBrowser1.Navigate(New Uri("http://localhost/teste.asp")) WebBrowser1.Show() End Sub Private Sub WebBrowser1_DocumentCompleted(sender As Object, e As WebBrowserDocumentCompletedEventArgs) Handles WebBrowser1.DocumentCompleted ' Try If Not IsNothing(WebBrowser1.Document) Then Dim elementos = WebBrowser1.Document.GetElementsByTagName("span") If (Not IsNothing(elementos) And elementos.Count > 0) Then Dim i As Integer = 0 While (i < elementos.Count AndAlso Not elementos.Item(i).OuterHtml().Contains("enc")) i += 1 End While If (i < elementos.Count) Then Dim resultado As String = elementos.Item(i).InnerText End If End If End If Catch ex As Exception End Try End Sub
- Sugerido como Resposta Thiago Patrocinio sábado, 23 de novembro de 2013 14:06
- Marcado como Resposta Free4k sábado, 23 de novembro de 2013 14:12
-
Tentei "Label1.Text = resultado" não funcionou.
Aonde você colocou e outra coisa cade seu código poste !!!
No código acima!Dim resultado as String Private Sub Form3_Load(sender As Object, e As EventArgs) Handles MyBase.Load WebBrowser1.Navigate(New Uri("http://localhost/teste.asp")) WebBrowser1.Show() End Sub Private Sub WebBrowser1_DocumentCompleted(sender As Object, e As WebBrowserDocumentCompletedEventArgs) Handles WebBrowser1.DocumentCompleted ' Try If Not IsNothing(WebBrowser1.Document) Then Dim elementos = WebBrowser1.Document.GetElementsByTagName("span") If (Not IsNothing(elementos) And elementos.Count > 0) Then Dim i As Integer = 0 While (i < elementos.Count AndAlso Not elementos.Item(i).OuterHtml().Contains("enc")) i += 1 End While If (i < elementos.Count) Then resultado = elementos.Item(i).InnerText
Label1.Text = resultado '// se fez assim??? End If End If End If Catch ex As Exception End Try End Sub
- Marcado como Resposta Free4k sábado, 23 de novembro de 2013 19:55
Todas as Respostas
-
Amigo eu não sei bom como ta seu cenário mas, eu fiz um assim e sendo que minha página tem um resultado assim:
<html> <head> <title>Teste de pagina</title> </head> <body> <span class"enc">18</span> <span class"ten">19</span> </body> </html>
Códificação para pegar a class "enc":
Private Sub Form3_Load(sender As Object, e As EventArgs) Handles MyBase.Load WebBrowser1.Navigate(New Uri("http://localhost/teste.asp")) WebBrowser1.Show() End Sub Private Sub WebBrowser1_DocumentCompleted(sender As Object, e As WebBrowserDocumentCompletedEventArgs) Handles WebBrowser1.DocumentCompleted ' Try If Not IsNothing(WebBrowser1.Document) Then Dim elementos = WebBrowser1.Document.GetElementsByTagName("span") If (Not IsNothing(elementos) And elementos.Count > 0) Then Dim i As Integer = 0 While (i < elementos.Count AndAlso Not elementos.Item(i).OuterHtml().Contains("enc")) i += 1 End While If (i < elementos.Count) Then Dim resultado As String = elementos.Item(i).InnerText End If End If End If Catch ex As Exception End Try End Sub
- Sugerido como Resposta Thiago Patrocinio sábado, 23 de novembro de 2013 14:06
- Marcado como Resposta Free4k sábado, 23 de novembro de 2013 14:12
-
-
-
Olá! Como assim cenário?
Quando o Flúvio fala de cenário, ele quer dizer como está a sua Camada de Apresentação (Quais botões, Label, TextBox tem no seu projeto)Por favor, lembre-se de “Marcar como Resposta” as respostas que resolveram o seu problema. Essa é uma maneira comum de reconhecer aqueles que o ajudaram e fazer com que seja mais fácil para os outros visitantes encontrarem a resolução mais tarde.
-
Olá! Como assim cenário?
Quando o Flúvio fala de cenário, ele quer dizer como está a sua Camada de Apresentação (Quais botões, Label, TextBox tem no seu projeto)
Por favor, lembre-se de “Marcar como Resposta” as respostas que resolveram o seu problema. Essa é uma maneira comum de reconhecer aqueles que o ajudaram e fazer com que seja mais fácil para os outros visitantes encontrarem a resolução mais tarde.
-
Olá! Mas como faço para copiar o texto para uma Label. Eu postei esse HTML no link abaixo:
-
-
-
Então tá feito!
Olha só
Dim resultado as String Private Sub Form3_Load(sender As Object, e As EventArgs) Handles MyBase.Load WebBrowser1.Navigate(New Uri("http://localhost/teste.asp")) WebBrowser1.Show() End Sub Private Sub WebBrowser1_DocumentCompleted(sender As Object, e As WebBrowserDocumentCompletedEventArgs) Handles WebBrowser1.DocumentCompleted ' Try If Not IsNothing(WebBrowser1.Document) Then Dim elementos = WebBrowser1.Document.GetElementsByTagName("span") If (Not IsNothing(elementos) And elementos.Count > 0) Then Dim i As Integer = 0 While (i < elementos.Count AndAlso Not elementos.Item(i).OuterHtml().Contains("enc")) i += 1 End While If (i < elementos.Count) Then resultado = elementos.Item(i).InnerText End If End If End If Catch ex As Exception End Try End Sub
A variável "resultado" se passar dentro do If (i < elementos.Count) foi o resultado encontrado !!! ?
Entendeu?
- Sugerido como Resposta Jean Carlos Galhardi sábado, 23 de novembro de 2013 21:54
-
-
Tentei "Label1.Text = resultado" não funcionou.
Aonde você colocou e outra coisa cade seu código poste !!!
No código acima!Dim resultado as String Private Sub Form3_Load(sender As Object, e As EventArgs) Handles MyBase.Load WebBrowser1.Navigate(New Uri("http://localhost/teste.asp")) WebBrowser1.Show() End Sub Private Sub WebBrowser1_DocumentCompleted(sender As Object, e As WebBrowserDocumentCompletedEventArgs) Handles WebBrowser1.DocumentCompleted ' Try If Not IsNothing(WebBrowser1.Document) Then Dim elementos = WebBrowser1.Document.GetElementsByTagName("span") If (Not IsNothing(elementos) And elementos.Count > 0) Then Dim i As Integer = 0 While (i < elementos.Count AndAlso Not elementos.Item(i).OuterHtml().Contains("enc")) i += 1 End While If (i < elementos.Count) Then resultado = elementos.Item(i).InnerText
Label1.Text = resultado '// se fez assim??? End If End If End If Catch ex As Exception End Try End Sub
- Marcado como Resposta Free4k sábado, 23 de novembro de 2013 19:55
-
-
Boa tarde , Fúlvio Cezar preciso de uma ajuda neste topico , acho que você poderia me ajudar ...