Jump to content
Fórum Script Brasil
  • 0

Consulta Web - Problemas com captcha


Tony_Cvo
 Share

Question

Boa noite pessoal,

Sou novato e procurei algo relacionado ao meu problema no forum, porém não encontrei, caso tenha peço desculpas pelo post repetido e solicito a alguém me indicar o caminho.

Estou com a seguinte dificuldade, criei um form para acessar o saldo do meu cartão de ticket alimentação, para acessar precisa preencher o valor do captcha. Criei as textbox respectivas da card e captcha e a leitura e inserção dos dados se dá através de um webbrowser que fica oculto no form. Tudo funciona perfeitamente, tirando o fato de que não consigo inserir no meu form a imagem do captcha para que o mesmo seja digitado na textbox. Alguém teria a solução?

Eis o site:  http://www.ticket.com.br/portal/consulta-de-saldo/

Link to comment
Share on other sites

5 answers to this question

Recommended Posts

  • 0

Eu fiz o seguinte, criei uma string com a código da página e dentro da string eu extraio a URL da imagem do captcha e joga dentro de outro webbrowser uma vez que não consegui joga-lo numa picturebox.

Algumas vezes o captcha coincide, na maioria das vezes não.

Ah! A linha abaixo não está funcionando para dar o comando de consulta.

WebBrowser1.Document.InvokeScript("submitForm('frmConsulteSeuSaldo', 'balance', 'json');")

Ps: o WebBrowser e a caixa de texto com o código só estão ativos para os testes.

Como sou novato em VB.Net espero que alguém modafoca possa me ajudar.

 

teste.png

Link to comment
Share on other sites

  • 0

A questão da picturebox foi resolvida, porém continua mostrando uma captcha diferente da webbrowser. Alguém sabe onde fica os arquivos temporários da webbrowser?

PictureBox1.Image = New System.Drawing.Bitmap(New IO.MemoryStream(New System.Net.WebClient().DownloadData(URLcaptcha)))

Link to comment
Share on other sites

  • 0

A questão do comando de Consulta também foi resolvido, ele tinha um name nem id, o código abaixo resolveu:

For Each webpageelement As HtmlElement In allelements

If webpageelement.GetAttribute("value") = "CONSULTAR" Then

webpageelement.InvokeMember("click")

End If

Next

No entanto o problema da imagem de captcha ser diferente persiste, penso em buscar o arquivo na pasta temporária do webbrowser, andem pesquisando e nada, alguém sabe me informar algo a respeito?

Link to comment
Share on other sites

  • 0

Passeando no site encontrei esse tópico meu do mês passado, postando aqui como resolvi para pegar a imagem do captcha diretamente do webbrowser ao invés de baixar pela URL, obrigado a quem leu e não falou um A, só assim tive que persistir e pesquisar mais:

 Sub PegaCaptcha()
        Dim Doc As mshtml.IHTMLDocument2 = WebBrowser1.Document.DomDocument
        Dim imgRange As mshtml.IHTMLControlRange = CType(Doc.body, mshtml.HTMLBody).createControlRange
        For Each img As mshtml.IHTMLImgElement In Doc.images

            If img.GetAttribute("src").ToString.Contains(Referencia) Then 'a variavel referencia é a string com a URL da imagem 
                imgRange.add(img)
                imgRange.execCommand("Copy", False, Nothing)
                PictureBox1.Image = Clipboard.GetDataObject.GetData(DataFormats.Bitmap)
                Exit For
            End If
        Next
    End Sub

 

Feliz Natal!

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

  • Forum Statistics

    • Total Topics
      149.6k
    • Total Posts
      646.2k
×
×
  • Create New...