Visual Basic Foro

Programación => Visual Basic 6 => Mensaje iniciado por: eligioalmuedo en Enero 13, 2012, 07:18:18 am

Título: Copiar una imagen de un navegador webbrowser del VB
Publicado por: eligioalmuedo en Enero 13, 2012, 07:18:18 am
Tengo una URL que me devuelve una imagen unicamente y necesito presentarla en un control Image o Picture. La navegacion web la hago internamente en el propio VB a travez de un webbrowser. ¿Como puedo capturar esa imagen, con la ventaja de que se que unicamente contiene una imagen (sin textos)? Gracias.
Título: Re:Copiar una imagen de un navegador webbrowser del VB
Publicado por: seba123neo en Enero 13, 2012, 09:45:38 am
podrias no usar un webbrowser y directamente descargar la imagen, seguro esa imagen tiene un link directo. despues para descargar imagen tenes un monton de metodos.

saludos.
Título: Re:Copiar una imagen de un navegador webbrowser del VB
Publicado por: eligioalmuedo en Enero 13, 2012, 02:06:43 pm
Gracias Seba. Olvide aclarar que la url apunta a un servidor ASP de captchas, con lo cual la imagen es cambiantes. Por eso la necesidad.
Título: Re:Copiar una imagen de un navegador webbrowser del VB
Publicado por: LeandroA en Enero 13, 2012, 08:29:27 pm
Hola mira este ejemplo con la captcha de un comentario de blog de la web.

Código: (vb) [Seleccionar]
Private Sub Form_Load()
    WebBrowser1.Navigate "http://leandroascierto.com/blog/qr-code/#comments"
End Sub

Private Sub WebBrowser1_DocumentComplete(ByVal pDisp As Object, URL As Variant)
    Dim ORange As Object
    Dim i As Integer

    Set ORange = WebBrowser1.Document.body.createControlRange()

    For i = 0 To WebBrowser1.Document.Images.length - 1
        If WebBrowser1.Document.Images.Item(i).GetAttribute("id") = "si_image_com" Then
            Call ORange.Add(WebBrowser1.Document.Images.Item(i))
            Call ORange.execCommand("Copy")
            Set Picture1.Picture = Clipboard.GetData
            Exit For
        End If
    Next
End Sub

lo que vos vas a tener que saber es como identificar la imagen por ejemplo en esta linea
Código: (vb) [Seleccionar]
If WebBrowser1.Document.Images.Item(i).GetAttribute("id") = "si_image_com" Thencomo ves la imagen tiene un Atributo llamado "id" el cual si es = a "si_image_com" entonces es la captcha, vos tenes que buscar algun identificador para ver cual es la imagen, quizas el src es siempre el mismo.

cualquier cosa postea la url o el html e indica donde esta la captcha.

Saludos.
Título: Re:Copiar una imagen de un navegador webbrowser del VB
Publicado por: eligioalmuedo en Enero 14, 2012, 02:25:35 pm
http://www.bcra.gov.ar/cenries/cr010000.asp?error=0 (http://www.bcra.gov.ar/cenries/cr010000.asp?error=0)
Título: Re:Copiar una imagen de un navegador webbrowser del VB
Publicado por: LeandroA en Enero 14, 2012, 07:06:24 pm
hola, tenes dos formas podes usar el Alt o el Src de la imagen, comente el src y deje el Alt ya que el src podria cambiar. (podrian modificar la url de la captcha.)

Código: (vb) [Seleccionar]
Private Sub Form_Load()
    WebBrowser1.Navigate "http://www.bcra.gov.ar/cenries/cr010000.asp"
End Sub
 
Private Sub WebBrowser1_DocumentComplete(ByVal pDisp As Object, URL As Variant)
    Dim ORange As Object
    Dim i As Integer
 
    Set ORange = WebBrowser1.Document.body.createControlRange()
 
    For i = 0 To WebBrowser1.Document.Images.length - 1
        'If WebBrowser1.Document.Images.Item(i).src = "http://www.bcra.gov.ar/cenries/generate-captcha.asp" Then
        If WebBrowser1.Document.Images.Item(i).GetAttribute("alt") = "Captcha" Then
            Call ORange.Add(WebBrowser1.Document.Images.Item(i))
            Call ORange.execCommand("Copy")
            Set Picture1.Picture = Clipboard.GetData
            Exit For
        End If
    Next
End Sub

Título: Re:Copiar una imagen de un navegador webbrowser del VB
Publicado por: eligioalmuedo en Enero 14, 2012, 10:13:34 pm
Simplemente perfecto. Genial como siempre Leandro. Un saludo y gracias.
Título: Re:Copiar una imagen de un navegador webbrowser del VB
Publicado por: E N T E R en Julio 16, 2012, 05:54:10 pm
Disculpen por revivir el post. Como puedo sacar la capcha de esta pagina.

http://www.personal.com.py/enviarSms/message_send_form2.aspx (http://www.personal.com.py/enviarSms/message_send_form2.aspx)