elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Recuerda que debes registrarte en el foro para poder participar (preguntar y responder)


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  .NET (C#, VB.NET, ASP)
| | | |-+  Programación Visual Basic (Moderadores: LeandroA, seba123neo)
| | | | |-+  Pasar datos a web con webbrowser en tiempo de ejecución (no hay manera)
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Pasar datos a web con webbrowser en tiempo de ejecución (no hay manera)  (Leído 2,876 veces)
oskarrr

Desconectado Desconectado

Mensajes: 3


Ver Perfil
Pasar datos a web con webbrowser en tiempo de ejecución (no hay manera)
« en: 11 Septiembre 2012, 16:47 pm »

Hola. Aprovecho para presentarme aunque llevos unos añitos registrado. Quiero rellenar unos campos en tiempo de ejecución en una web, concretamente usuario, password, y darle clic al login. El clic al login y el campo de password me funcionan bien, pero al intentarle meter texto al campo login me da el error 438 de que no admite ese método o propiedad. Yo pienso que es porque el form (de la web) se llama login y el input text de la web también se llama login.

Este es el código html (resumido):

Código:
<form method="post" action="login.phtml" name="login" style="display:inline"><div style="float:left;">
<div style="float:left;">
<div style="float:left;line-height:8px;"><div class="icon mi mi_manager" style="float:left;"></div><p style="float:left;margin:0;padding:0;line-height:8px;padding-top:1px;">Usuario:&nbsp;</p><br /></div>
                                <div style="float:left;">
                                <input type="text" name="login" size="10" maxlength="10" class="userlogin" tabindex="1" style="margin-left:5px;margin-top:4px;" />
                                </div>
</div>
<div style="float:left;">
<div style="float:left;line-height:8px;"><div class="icon i_lock" style="float:left; margin-left:5px; margin-right:4px;"></div><p style="float:left;margin:0;padding:0;line-height:10px;padding-top:1px;">Contraseña:&nbsp;</p><br /></div>
                                <div style="float:left;">
                                <input type="password" name="pass" size="10" maxlength="8" style="width:80px;margin-left:5px;margin-top:4px;" tabindex="2" onkeypress="checkEnter(event, 'login')" class="userlogin" />
                                </div>
       </div><input type="hidden" name="action" value="login" />

Y este es mi código en VB6:

Código:
Private Sub Form_Load()
    WebBrowser1.Navigate "http://miweb.com/login"
End Sub

Private Sub Command1_Click()
    WebBrowser1.Document.All("login").Value = "pepito" 'aquí falla
    WebBrowser1.Document.All("pass").Value = "12345" 'funciona ok
    WebBrowser1.Document.parentWindow.execScript "submitForm('login','Login')", "javascript" 'funciona ok
End Sub


« Última modificación: 11 Septiembre 2012, 16:51 pm por oskarrr » En línea

seba123neo
Moderador
***
Desconectado Desconectado

Mensajes: 3.621



Ver Perfil WWW
Re: Pasar datos a web con webbrowser en tiempo de ejecución (no hay manera)
« Respuesta #1 en: 11 Septiembre 2012, 17:15 pm »

lo que veo mal, es que el textbox se llama "login" y el formulario contenedor tambien se llama "login", entonces como estas usando el .All y hay 2 objetos con el mismo nombre, te debe estra trayendo el formulario en ves del textbox, por eso no funciona, deberias no usar el .All en este caso y especificarle el nombre del formulario, algo asi:


Código
  1. WebBrowser1.Document.login.login.Value = "pepito"

el primer login especifica el nombre del formulario que lo contiene y el segundo es el nombre del textbox, proba de esa forma haber que pasa.

saludos.


En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines