none
InnerText não funciona porque ? RRS feed

  • Pergunta

  • oi amigos tudo bom ? tenho mais uma duvida hoje fiz esse codigo a baixo mais a 2x linha nao funciona porque ? obrigado a todos 

      01 Me.WebBrowser1.Document.GetElementById("btnGerarCPF").InvokeMember("click")
      02 Me.TextBox1.Text = WebBrowser1.Document.GetElementById("txtCPF").InnerText


    sábado, 29 de agosto de 2015 01:46

Respostas

  • Se você olhar o html gerado pelo OuterHtml verá:

    <INPUT id=txtCPF class=span2 style="WIDTH: 400px" value=83744838307>

    Ou seja, nesse caso você tem que pegar o atributo value após consultar

        MessageBox.Show(web.Document.GetElementById("txtCPF").GetAttribute("value"))
    


    Bruno Ferreira de Souza
    MVP - Microsoft Valuable Professional
    MCTS .NET Framework - Windows Applications
    MCPD .NET Framework - Windows Applications
    www.maestrodotnet.com.br
    @BrunoMaestro

    • Marcado como Resposta João Paulo [] sábado, 29 de agosto de 2015 18:04
    sábado, 29 de agosto de 2015 17:33

Todas as Respostas

  • Seu código está aparentemente correto. Sem mais informações acho que fica difícil poder dizer exatamente onde está o erro. Tente depurar seu código e ajuste ele para ficar mais fácil de achar o erro:

    Try
    	Dim browser As New WebBrowser()
    
    	If browser.Document IsNot Nothing Then
    		Dim document As HtmlDocument = browser.Document
    		Dim txtCPF As HtmlElement = document.GetElementById("txtCPF")
    		If txtCPF IsNot Nothing Then
    			Dim txtCPFValue As String = txtCPF.InnerText
    		End If
    	End If
    Catch ex As NotSupportedException
    	Debug.WriteLine(ex.ToString())
    Catch ex As Exception
    	Debug.WriteLine(ex.ToString())
    End Try


    ROBERTOSLJUNIOR

    sábado, 29 de agosto de 2015 02:30
  • mesma coisa amigo nao ocorre nada nei erro nei mensagem do try simplesmente nao funciona  e nao da retorno de erro nei mensagem nada ocorre 
    sábado, 29 de agosto de 2015 02:58
  • Como você está disparando um evento click no botão, você deve pegar o texto do cpf no evento DocumentCompleted do WebBrowser1.

    Private Sub WebBrowser1_DocumentCompleted(ByVal sender As Object, ByVal e As System.Windows.Forms.WebBrowserDocumentCompletedEventArgs) Handles WebBrowser1.DocumentCompleted If WebBrowser1.ReadyState = WebBrowserReadyState.Complete Then Me.TextBox1.Text = WebBrowser1.Document.GetElementById("txtCPF").InnerText End If End Sub



    Bruno Ferreira de Souza
    MVP - Microsoft Valuable Professional
    MCTS .NET Framework - Windows Applications
    MCPD .NET Framework - Windows Applications
    www.maestrodotnet.com.br
    @BrunoMaestro

    sábado, 29 de agosto de 2015 06:47
  • oi amigo fiz dessa maneira mais nada ainda ele gera o cpf mais nao a retorno na textbox fiz augo erado ?

     
    sábado, 29 de agosto de 2015 14:53
  • O nome do controle no HTML onde está o cpf é txtCPF? Olha no html, o nome tem que ser o ID que está no controle.

    Bruno Ferreira de Souza
    MVP - Microsoft Valuable Professional
    MCTS .NET Framework - Windows Applications
    MCPD .NET Framework - Windows Applications
    www.maestrodotnet.com.br
    @BrunoMaestro

    sábado, 29 de agosto de 2015 16:56
  • sim e o id da textbox la do site veja

    sábado, 29 de agosto de 2015 17:04
  • Se você olhar o html gerado pelo OuterHtml verá:

    <INPUT id=txtCPF class=span2 style="WIDTH: 400px" value=83744838307>

    Ou seja, nesse caso você tem que pegar o atributo value após consultar

        MessageBox.Show(web.Document.GetElementById("txtCPF").GetAttribute("value"))
    


    Bruno Ferreira de Souza
    MVP - Microsoft Valuable Professional
    MCTS .NET Framework - Windows Applications
    MCPD .NET Framework - Windows Applications
    www.maestrodotnet.com.br
    @BrunoMaestro

    • Marcado como Resposta João Paulo [] sábado, 29 de agosto de 2015 18:04
    sábado, 29 de agosto de 2015 17:33
  • perfeito amigo desculpe ter dado trabalho a vc e que eu nu entendo muito de WebBrowser vc me ajudo muito obrigado mesmo amigo :) like pra vc e +1
    sábado, 29 de agosto de 2015 18:03