EXTRAIR VARIAVEIS ENTRE TAGS HTML

LEONARDOSILVEIR 23/10/2010 15:23:32
#355748
Pessoal, criei uma função para pegar o html de uma pagina exibida no webbrowser e jogar dentro de um textbox, agora preciso localizar dentro do texto os seguintes valores abaixo e extrais somente o valor que está entre > < que neste caso é AUTORIZADA, mas nesse campo pode vir preenchido com outros tipos de valores.

<SPAN id=ctl00_ContentPlaceHolder3_lblSituacaoAtual>AUTORIZADA</SPAN></TD></TR>

Disponibilizei em anexo o html inteiro.
Aguardo ajuda.
FNANDOOD 22/12/2010 20:02:13
#360251
Citação:

:
Pessoal, criei uma função para pegar o html de uma pagina exibida no webbrowser e jogar dentro de um textbox, agora preciso localizar dentro do texto os seguintes valores abaixo e extrais somente o valor que está entre > < que neste caso é AUTORIZADA, mas nesse campo pode vir preenchido com outros tipos de valores.

<SPAN id=ctl00_ContentPlaceHolder3_lblSituacaoAtual>AUTORIZADA</SPAN></TD></TR>

Disponibilizei em anexo o html inteiro.
Aguardo ajuda.



Eu fiz diferente:

Depois que voce abrir e visualizar a consulta da NFE no Webbrowser ai você visualiza a impressão dela:

[txt-color=#0000f0]Private Sub Command2_Click() [ô]ASSIM VISUALIZA TODOS OS DADOS DA NFE SEM AS ABAS.
WebBrowser.Navigate [Ô]http://www.nfe.fazenda.gov.br/portal/visualizacaoNFe/completa/impressao.aspx[Ô]
End Sub[/txt-color]


DEPOIS....BAIXE A PAGINA E OS DADOS PARA O SEU COMPUTADOR

[txt-color=#007100][ô]FUNCAO PARA BAIXAR A PAGINA[/txt-color]
[txt-color=#0000f0]Private Declare Function URLDownloadToFile Lib [Ô]urlmon[Ô] Alias [Ô]URLDownloadToFileA[Ô] (ByVal pCaller As Long, ByVal szURL As String, ByVal szFileName As String, ByVal dwReserved As Long, ByVal lpfnCB As Long) As Long

Public Function DownloadFile(URL As String, LocalFilename As String) As Boolean
Dim lngRetVal As Long
lngRetVal = URLDownloadToFile(0, URL, LocalFilename, 0, 0)
If lngRetVal = 0 Then DownloadFile = True
End Function

Private Sub cmdbaixar_Click()
DownloadFile [Ô]http://www.nfe.fazenda.gov.br/portal/visualizacaoNFe/completa/impressao.aspx[Ô], [Ô]c:\\site.txt[Ô]
DownloadFile [Ô]http://www.nfe.fazenda.gov.br/portal/visualizacaoNFe/completa/impressao.aspx[Ô], [Ô]c:\\site.HTML[Ô]
End Sub [/txt-color]

penso em depois manipular o texto com OPEN INPUT, e importar os dados por pela função Mid(), mas ainda estou pesquisando em outra maneira mais fácil.


PEGUDO 27/12/2010 22:05:07
#360492
Resposta escolhida
Cara eu fiz este exemplo baseado na página que você postou.

O exemplo está em anexo mas eu o escrevi aqui também.

O txt que você postou, eu salvei no mesmo diretório do executável do programa como um arquivo [txt-color=#0000f0].htm[/txt-color].
Depois eu fiz o VB ler as tags e encontrar o SPAN que continha o valor que você queria.

Este exemplo tem um Form1, um WebBerowser1, um TextBox1 e um Button1

[txt-color=#0000f0]Public Class[/txt-color] Form1

[txt-color=#0000f0]Private Sub[/txt-color] Form1_Load([txt-color=#0000f0]ByVal[/txt-color] sender [txt-color=#0000f0]As[/txt-color] System.Object, [txt-color=#0000f0]ByVal[/txt-color] e [txt-color=#0000f0]As[/txt-color] System.EventArgs) [txt-color=#0000f0]Handles[/txt-color] MyBase.Load
WebBrowser1.Navigate(Application.StartupPath & [txt-color=#e80000][Ô]\vbmaina.htm[Ô][/txt-color])
WebBrowser1.ScriptErrorsSuppressed = [txt-color=#0000f0]True[/txt-color]
[txt-color=#0000f0]End Sub[/txt-color]

[txt-color=#0000f0]Private Sub[/txt-color] Button1_Click([txt-color=#0000f0]ByVal[/txt-color] sender [txt-color=#0000f0]As[/txt-color] System.Object, [txt-color=#0000f0]ByVal[/txt-color] e [txt-color=#0000f0]As[/txt-color] System.EventArgs) [txt-color=#0000f0]Handles[/txt-color] Button1.Click
[txt-color=#0000f0]While Not[/txt-color] WebBrowser1.ReadyState = WebBrowserReadyState.Complete
Application.DoEvents()
[txt-color=#0000f0]End While[/txt-color]

TextBox1.Text = [txt-color=#e80000][Ô][Ô][/txt-color]

[txt-color=#0000f0]Dim[/txt-color] Autorizacao [txt-color=#0000f0]As[/txt-color] HtmlElement = WebBrowser1.Document.GetElementById([txt-color=#e80000][Ô]ctl00_ContentPlaceHolder3_lblSituacaoAtual[Ô][/txt-color])

[txt-color=#0000f0]If[/txt-color] Autorizacao.InnerText = [txt-color=#e80000][Ô]AUTORIZADA[Ô][/txt-color] [txt-color=#0000f0]Then[/txt-color]
TextBox1.Text = Autorizacao.InnerText
[txt-color=#0000f0]Else[/txt-color]
TextBox1.Text = [txt-color=#e80000][Ô]NÃO AUTORIZADA[Ô][/txt-color]
[txt-color=#0000f0]End If
End Sub
End Class[/txt-color]

Lembre-se de que isto é só um exemplo.
Pegue as informações que possam lhe ser úteis e as adapte ao seu programa.
Espero ter ajudado.
FNANDOOD 27/12/2010 22:51:47
#360495
Citação:

:
Cara eu fiz este exemplo baseado na página que você postou.

O exemplo está em anexo mas eu o escrevi aqui também.

O txt que você postou, eu salvei no mesmo diretório do executável do programa como um arquivo [txt-color=#0000f0].htm[/txt-color].
Depois eu fiz o VB ler as tags e encontrar o SPAN que continha o valor que você queria.

Este exemplo tem um Form1, um WebBerowser1, um TextBox1 e um Button1

[txt-color=#0000f0]Public Class[/txt-color] Form1

[txt-color=#0000f0]Private Sub[/txt-color] Form1_Load([txt-color=#0000f0]ByVal[/txt-color] sender [txt-color=#0000f0]As[/txt-color] System.Object, [txt-color=#0000f0]ByVal[/txt-color] e [txt-color=#0000f0]As[/txt-color] System.EventArgs) [txt-color=#0000f0]Handles[/txt-color] MyBase.Load
WebBrowser1.Navigate(Application.StartupPath & [txt-color=#e80000][Ô]
bmaina.htm[Ô][/txt-color])
WebBrowser1.ScriptErrorsSuppressed = [txt-color=#0000f0]True[/txt-color]
[txt-color=#0000f0]End Sub[/txt-color]

[txt-color=#0000f0]Private Sub[/txt-color] Button1_Click([txt-color=#0000f0]ByVal[/txt-color] sender [txt-color=#0000f0]As[/txt-color] System.Object, [txt-color=#0000f0]ByVal[/txt-color] e [txt-color=#0000f0]As[/txt-color] System.EventArgs) [txt-color=#0000f0]Handles[/txt-color] Button1.Click
[txt-color=#0000f0]While Not[/txt-color] WebBrowser1.ReadyState = WebBrowserReadyState.Complete
Application.DoEvents()
[txt-color=#0000f0]End While[/txt-color]

TextBox1.Text = [txt-color=#e80000][Ô][Ô][/txt-color]

[txt-color=#0000f0]Dim[/txt-color] Autorizacao [txt-color=#0000f0]As[/txt-color] HtmlElement = WebBrowser1.Document.GetElementById([txt-color=#e80000][Ô]ctl00_ContentPlaceHolder3_lblSituacaoAtual[Ô][/txt-color])

[txt-color=#0000f0]If[/txt-color] Autorizacao.InnerText = [txt-color=#e80000][Ô]AUTORIZADA[Ô][/txt-color] [txt-color=#0000f0]Then[/txt-color]
TextBox1.Text = Autorizacao.InnerText
[txt-color=#0000f0]Else[/txt-color]
TextBox1.Text = [txt-color=#e80000][Ô]NÃO AUTORIZADA[Ô][/txt-color]
[txt-color=#0000f0]End If
End Sub
End Class[/txt-color]

Lembre-se de que isto é só um exemplo.
Pegue as informações que possam lhe ser úteis e as adapte ao seu programa.
Espero ter ajudado.



Você teria esse código em VB6?
PEGUDO 28/12/2010 08:35:39
#360509
Desculpe FNANDOOD
Não tenho este código em VB6 e não posso desenvolvê-lo agora pra você pois estamos de recesso lá no escritório
e eu só tenho VB6 lá.
FNANDOOD 28/12/2010 10:39:18
#360521
Blz, Pegudo, se eu não conseguir descobrir algo, vou te pedir uma ajuda em Janeiro, ok
PEGUDO 28/12/2010 11:06:43
#360525
ok, estamos às ordens
EDULOCO 25/09/2012 09:46:13
#410422
PEGUDO obrigado cara, com a dúvida do amigo ai, você me ajudou a sanar uma minha, você me ajudou em um outro tópico, porém não obtive tempo de olhar ainda direito e entender o código que você postou de exemplo para mim, porém esse post aqui me tirou uma outra dúvida com webbrowser, que era pegar o que está entre as tags <> VALOR <> e printar em um textbox o resultado *-*


Obrigado a quem postou a dúvida e ao Pegudo por responder, por isso sempre devemos pesquisar bem antes de criar um tópico a toa onde sua dúvida já pode ser sido perguntada.

Obrigado Novamente.
Tópico encerrado , respostas não são mais permitidas