none
rellenar campos auntomaticamente con webbrowser c# RRS feed

  • Pregunta

  • que tal un saludo.

    lo que quiero hacer es porder llenar automaticamente los campos de "usuario" y "password" de  mi aplicacion web, esto desde mi aplicacion de escritorio. lo que llevo hecho es:

     

     webBrowser1.Navigate("http://www.ejemplo.com");
    
                webBrowser1.Document.GetElementById("txtUsername").InnerText = user;
    
                webBrowser1.Document.GetElementById("txtPassword").InnerText = pass;

    y es q me muestra una excepcion al cargar el usuario jeje ,  no se donde moverle ya q no es mucho  si alguien ha hecho algo similar les agradeceria.

     

     

    miércoles, 31 de marzo de 2010 20:46

Respuestas

Todas las respuestas

  • hola

    mira este link

    http://www.windows-tech.info/3/45e7979377b54233.php

    creo que podria ayudar, veras que usa

    browser.Document.GetElementById("txtUsername").SetAttribute("value", user);

    saludos


    Leandro Tuttini

    Blog
    Buenos Aires
    Argentina
    miércoles, 31 de marzo de 2010 21:16
  • que tal leandro gracias por el aporte

    pero aun estableciendo un nombre de usuario me sigue marcando la excepcion de referencia nula,   lo que quisiera  es q la pagina login.aspx de mi aplicacion web ya no se carge es decir:

    System.Diagnostics.Process.Start("pagina_de_inicio");           
    
    

     que me envie a la pagina de inicio sin necesidad de logearse de nuevo el usuario, por que los campos necesarios ya son llenados desde mi aplicacion de escritorio, bueno  esa es la idea,  por eso quiero utilizar el webbrowser.  cualquier idea  seria muy bien recivida gracias.

     

     

    miércoles, 31 de marzo de 2010 21:59
  • hola

    el tema es que si tu paginas es asp.net, no creo qeu el control al rederizarse en el cliente tenga el nombre "txtUsername"

    accede a la pagina desde el IE y luego usa la opcion para ver el codigo fuente

    revisa que nombre tiene el control textbox que quieres tomar para asignar el valor

    veras que no es simplemente txtUsername, es un nombre que asigna asp.net cuando renderiza el control, este es el que debes usar

     

    saludos


    Leandro Tuttini

    Blog
    Buenos Aires
    Argentina
    miércoles, 31 de marzo de 2010 22:07
  • ok  lo revise como me dijiste y si,  en el metodo post del form aparece otro:

    <input type="hidden" name="__EVENTTARGET" id="__EVENTTARGET" value="" />
    

     

    lo probe y que crees  jeje  aun sigue saliendo esta fea  excepcion. incluso no estoy seguro si este sea el verdadero nombre.

     

     

    miércoles, 31 de marzo de 2010 22:40
  • Saludo ,

     

    mira este ejemplo 

    webBrowser1.Navigate(@"<url>");
    while (webBrowser1.ReadyState != WebBrowserReadyState.Complete) Application.DoEvents();
    webBrowser1.Document.GetElementById("textbox1").InnerText = "12345";
    webBrowser1.Document.GetElementById("submit1").InvokeMember("click");

    prueba con este ejemplo  y nos  hace saber por favor ..

     

    enmanuel  f  grullard almonte

    Nota:marcala como validad si tu util

    miércoles, 31 de marzo de 2010 22:53
    Moderador
  • hola

    pero ese es un hidden, no puedes llenar un valor de ese control, es oculto al usuario, o sea no es un TextBox como habias comentado

    Enmanuel comenta algo valido, tambien deberias validar que el forma se complete en la carga, hya un evento de Complete que peudes usar

    saludos


    Leandro Tuttini

    Blog
    Buenos Aires
    Argentina
    miércoles, 31 de marzo de 2010 22:56
  • si  Enmanuel, ya  no muestra la excepcion ya inserta el nombre de usuario y la contraseña, perdon por la tardanza pero estaba debuggeando haber si podia encontrar algo jeje,  no muestra mucha informacion.

    esto lo hace en el webBrowser q inserte en la form,  abra alguna manera de que no lo haga en la form si no directamente en el IE ??  es decir que el usuario ya no tenga que ingresar el usuario ni la contraseña en el explorador.  bueno agradezco mucho toda la ayuda

    miércoles, 31 de marzo de 2010 23:28
  • Saludo ,

    Que bueno que ya inserta a la tabla  , con referente al otro comentarios tendria que investigar porque tengo poco conocimiento de ese componente bien en cuento puede te dare una respuesta.

    jueves, 1 de abril de 2010 1:19
    Moderador
  • hola

    bueno este es un tema algo mas complejo, poder se podria, la verdad yo no programe algo similar pero se que desarollando un plugin para el IE, podrias hacerlo

    por ahi algo como esto ayude

    Construye plugins para Internet Explorer con spicIE

    SpicIE - Simple Plug-In Creator for Internet Explorer

     

    tambine hay un foro, pero en ingles donde podrias consultar

    Internet Explorer Extension Development

    saludos


    Leandro Tuttini

    Blog
    Buenos Aires
    Argentina
    jueves, 1 de abril de 2010 2:48
  • les agradezco a ambos  la  informacion voy a checar lo de los plugins leandro.  gracias  de nuevo.
    jueves, 1 de abril de 2010 15:18
  • hola...

    sin entrar mucho al respecto de lo que comentan....

    yo podria hacer algo como esto para lo que necesitas:

     

    1.- me creo una clase con los campos user and psw (para guardar aqui la informacion al momento de loguearme en la aplicacion winform)

    2.- al momento de iniciar la pag asp en el load hago la logica simple de programacion prenguntado si los datos que estan en la clase son diferentes de null o si no existe informacion como sea..y comparo ...de haber informacion entonces el usuario se ha logueado y traigo esos datos a unas variables podria ser y enseguida entro al sitio para seguir validando si se necesita o simplemente ya no se loguea...

     

     


    Pablo González Desarrollo de Sistemas. Ecuasoftware.Net Ecuador.
    jueves, 1 de abril de 2010 17:46
  • Hola estaba viendo todos estos casos y no se si me puedan ayudar, ya pude insertar el usuario y contraseña en un apagina pero me di cuanta que el boton es del tipo botón link por lo cual no tiene name y no se como poderle hacer click en sus evento , me pueden ayudar, estye es btn_link

     <table border="0" cellspacing="0" cellpadding="0">
        <input type="image" src="https://pics/1x1pic.gif" alt="" border="0" onclick="checkLogin(this.form, &#39;US-EN&#39;)">
        <tr>
           
           
                <td width="7" height="15" align="right" valign="top"><img src="https://pics/btn_left.gif" alt=""></td>
                <td><table border="0" cellspacing="0" cellpadding="0" height="15">
                    <tr><td bgcolor="#ADADAD" height="1"></td></tr>
                    <tr><td bgcolor="#999999" nowrap valign="bottom"><a href="javascript:checkLogin(documentForm(&#39;login&#39;), &#39;US-EN&#39;)" class="btn_link">ENTRAR</a></td></tr>
                    <tr><td bgcolor="#666666" height="1"></td></tr>
                </table></td>
                <td width="7" height="15" align="left" valign="top"><img src="https://pics/btn_right.gif" alt=""></td>
           
        </tr>
    </table></td>


    Rsalvador
    miércoles, 22 de septiembre de 2010 16:35
  • while (webBrowser1.ReadyState != WebBrowserReadyState.Complete) Application.DoEvents();
                webBrowser1.Document.GetElementById("txtUserName").SetAttribute("value", "mivalor");
                webBrowser1.Document.GetElementById("txtPassword").SetAttribute("value", "123456");
                webBrowser1.Document.GetElementById("btnLogin").InvokeMember("click");
    viernes, 17 de marzo de 2017 0:15