none
Formulario WebBrowser RRS feed

  • Pregunta

  •  

    Buenas,

    Tengo Una Duda,

    Se Puede Desde VisualStudio Basic 2008, Rellenar Campos De Una Web??

    Osea, Creo Un Windows Form Con El WebBrowser, Y Que Al Inicio Se Navega A Una Página, Como La Del MSN, Que Te Pide Nombre Y Contraseña, Y Desde El Windows Form Rellenar Los Cuadros TexBox Y Clic En Button1 Se Envie Los Datos Y Rellene Los Campos De La Web De MSN Desde La WebBrowser.

    Si Se Puede, Que Código Fuentes He De Poner???

    Saludos

    martes, 27 de enero de 2009 15:56

Todas las respuestas

  • Hola. Quizá WatiN te sirva: http://watin.sourceforge.net/

     

    Saludos,
    Nicolás.

    martes, 27 de enero de 2009 16:29
  • Gracias Por Responder, Y En Formato Basic??? En C# Y C++ No He Entrado Todavia.

    Salu2

     

    martes, 27 de enero de 2009 17:06
  • Hola. WatiN está escrito en C# y la documentación también, pero se puede utilizar perfectamente en cualquier lenguaje .NET. Es decir, podés agregar el ensamblado a tu proyecto Visual Basic .NET sin problema.

     

    Saludos,
    Nicolás.

    martes, 27 de enero de 2009 17:24
  •  

    Agradezco La Rapidez xD

    Soy Algo Torpe T_T Y No Logro Dar Con El Clavo  

    Posible De Alguna Otra Opción??

    Thank

    martes, 27 de enero de 2009 18:41
  • Hola. He creado un código en VB.NET para que veas cómo utilizar WatiN. Tenés que agregar una referencia en tu proyecto al ensamblado "WatiN.Core.dll". Espero que te sirva:

    Code Snippet

        Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
            'Abro la dirección http://www.live.com/ en Internet Explorer.
            Using ieLive As IE = New IE("http://www.live.com/")
                'En el HTML (específico para www.live.com) hay un campo de texto (donde
                'ingresamos las consultas) que se llama "q". Lo buscamos.
                '<input type="text" value="" title="Buscar" name="q" id="sb_form_q" class="sw_qbox"/>
                Dim campoBusqueda As TextField = ieLive.TextField(Find.ByName("q"))
                If (Not campoBusqueda Is Nothing) Then
                    'Si lo encontramos entonces escribimos en él, el texto "¡Hola mundo!".
                    campoBusqueda.TypeText("¡Hola mundo!")
                    'Ahora tenemos que buscar el botón de buscar.
                    'En el HTML (específico para www.live.com) hay un botón
                    '(el que utilizamos para que el buscador busque) llamado "go"
                    '<input type="submit" value="" title="Buscar" tabindex="0" name="go" id="sb_form_go" class="sw_qbtn"/>
                    Dim botonGo As Button = ieLive.Button(Find.ByName("go"))
                    If (Not botonGo Is Nothing) Then
                        'Si lo encontramos hacemos clic.
                        botonGo.Click()
                    End If
                End If
                'Opcional: cerramos el navegador. También lo podemos dejar abierto y cerrarlo después.
                ieLive.Close()
            End Using
        End Sub

     

     

    Saludos,
    Nicolás.

    martes, 27 de enero de 2009 19:34
  • DIOS O_O ERES MI SALVADOR

     

    No Sabes Cuanto Te Lo Agradezco MIL GRACIAS

    Al FINNN  Que Emoción

     

    Se Me Olvidó, Una Consulta Mas xD

    Como Hago Para Que No Se Cierre???

    Y Como Lo Acoplo Al WebBrowser Del Form1 Que He Creado???

     

    martes, 27 de enero de 2009 20:01
  • Rectifico, Sólo Saber

    ¿¿¿Cómo Lo Acoplo Al WebBrowser Del Form1 Que He Creado???

    Éste Me Habre Una Nueva Ventana Del IE, Y Cambiando El IE Por WebBrowser Me Dice Que Hay Elementos Que No Pertenece A Este Tipo.

    Salu2

    miércoles, 28 de enero de 2009 10:01
  • Hola. La versión actual de WatiN no permite tal característica. Sin embargo, está disponible el código fuente.

     

    Saludos,
    Nicolás.

    miércoles, 28 de enero de 2009 11:34
  • He Estado Viendo Algunos Foros Y La Ayuda De Visual2008 Y He Encontrado Esto

    Code Snippet

     

    Private Sub ResetForms()
        If (Not (WebBrowser1.Document Is Nothing)) Then
            For Each FormElem As HtmlElement In WebBrowser1.Document.Forms
                FormElem.InvokeMember("reset")
            Next
        End If
    End Sub

     

     

    Y Con Esa Función Me Resetea Todo, Y Éste Puse Yo Para Probar

    Code Snippet

     

    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click

    If (Not (WebBrowser1.Document Is Nothing)) Then

    For Each FormElem As HtmlElement In WebBrowser1.Document.Forms

    FormElem.InnerText = textbox1.text

    Next

    End If

    End Sub

     

     

    Pero Me Rellena Todo Lo Rellenable De La Página, Icluyendo Los Botones De La Web

    Alguna Idea De Que Capte Y Rellene Sólo Un Campo, Porejemplo El Campo De CONTRASEÑA

     

    Saludos

     

     

    jueves, 29 de enero de 2009 10:24
  •  

    Buenas De Nuevo,

    He Pillado Alfinal Con Este

    Code Snippet

    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
            WebBrowser1.Document.GetElementById("Numero").InnerText = TextBox1.Text
        End Sub

     

     

    Pero Tengo Un Problema Con Éste, Es Que No Me Rellena El Formulario Si El Formulacio Está Metido Dentro De Otro.

    Osea, ... Navego A Una Web Con Propiedad (www.prueba.es), Y Dentro De Esa Web Hay Otra Web Con Propiedad (www.prueba.es\entrar) Y En Ésta No Me Rellena.

    Alguna Idea???

    El Código Anterior Me Rellena Sólo De La Página Principal Y No La Que Está Dentro De Ella.

    Salu2

    jueves, 29 de enero de 2009 11:56
  • ya se qu esto esta un poco antiguo  pero has conseguido haccer lo que intentabas ??
    s que yo ahora tengo el mismo problema pero en c# y solo consigo escribir el texto en un cuadro de texto y que me lo copie a una busueda(llamemosle googl)pero l oque no consigo es como pulsar el boton enviar
    haber si alguienme puede echar una mano.
    miércoles, 15 de abril de 2009 16:20
  • Esto esta viejito... pero de seguro le servira a alguien mas----

     

    para presionar el botón yo lo hago de la siguiente manera

    WebBrowser1 = WebBrowser donde tienes la pagina

    esto básicamente busca el control que cumple con el valor entregado ("Aceptar") y llama al evento (Miembro) Click de ese control

    For Each ele As HtmlElement In WebBrowser1.Document.All
          If ele.GetAttribute("value").ToString = "Aceptar" Then
            ele.InvokeMember("click")
          End If
        Next
    


    Saludos
    sábado, 7 de agosto de 2010 18:13
  • hola,

    dale una miradita a este enlace , ya fue respondida una pregunta similar a la tuya.

    http://social.msdn.microsoft.com/Forums/es-ES/vcses/thread/f039c80c-1b97-40f5-a745-177849bfb71e

    enmanuel grullard

    republica dominicana

     

    martes, 10 de agosto de 2010 16:54