Autor Tema: Copiar una imagen de un navegador webbrowser del VB  (Leído 10373 veces)

0 Usuarios y 1 Visitante están viendo este tema.

eligioalmuedo

  • Bytes
  • *
  • Mensajes: 16
  • Reputación: +2/-1
    • Ver Perfil
Copiar una imagen de un navegador webbrowser del VB
« 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.
El ayer es historia. El mañana es un misterio. El hoy es un regalo, y por eso le llaman presente

seba123neo

  • Terabyte
  • *****
  • Mensajes: 763
  • Reputación: +88/-5
    • Ver Perfil
Re:Copiar una imagen de un navegador webbrowser del VB
« Respuesta #1 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.

eligioalmuedo

  • Bytes
  • *
  • Mensajes: 16
  • Reputación: +2/-1
    • Ver Perfil
Re:Copiar una imagen de un navegador webbrowser del VB
« Respuesta #2 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.
El ayer es historia. El mañana es un misterio. El hoy es un regalo, y por eso le llaman presente

LeandroA

  • Administrador
  • Petabyte
  • *****
  • Mensajes: 1128
  • Reputación: +151/-8
    • Ver Perfil
Re:Copiar una imagen de un navegador webbrowser del VB
« Respuesta #3 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.

eligioalmuedo

  • Bytes
  • *
  • Mensajes: 16
  • Reputación: +2/-1
    • Ver Perfil
El ayer es historia. El mañana es un misterio. El hoy es un regalo, y por eso le llaman presente

LeandroA

  • Administrador
  • Petabyte
  • *****
  • Mensajes: 1128
  • Reputación: +151/-8
    • Ver Perfil
Re:Copiar una imagen de un navegador webbrowser del VB
« Respuesta #5 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


eligioalmuedo

  • Bytes
  • *
  • Mensajes: 16
  • Reputación: +2/-1
    • Ver Perfil
Re:Copiar una imagen de un navegador webbrowser del VB
« Respuesta #6 en: Enero 14, 2012, 10:13:34 pm »
Simplemente perfecto. Genial como siempre Leandro. Un saludo y gracias.
El ayer es historia. El mañana es un misterio. El hoy es un regalo, y por eso le llaman presente

E N T E R

  • Petabyte
  • ******
  • Mensajes: 1062
  • Reputación: +57/-13
  • www.enterpy.com
    • Ver Perfil
    • www.enterpy.com
Re:Copiar una imagen de un navegador webbrowser del VB
« Respuesta #7 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
CIBER GOOGLE - CONCEPCIÓN PARAGUAY
www.enterpy.com
Primera regla de la programacion, para que vas a hacerlo complicado si lo puedes hacer sencillo