VBA para hacer login en página web

A tod@s,

Tengo la siguiente macro con la que tratar de hacer login en una web:

Dim HTMLDoc As HTMLDocument
Dim MyBrowser As InternetExplorer
Sub RepsolLogin()
Dim MyHTML_Element As IHTMLElement
Dim MyURL As String
Dim form As HTMLFormElement
    MyURL = "https://login.repsol.com/es/Landing/AuthnPage?returnUrl=https://www.repsol.com/es_es/"
    Set MyBrowser = New InternetExplorer
    MyBrowser.Silent = True
    MyBrowser.navigate MyURL
    MyBrowser.Visible = True
    Do
        DoEvents
    Loop Until MyBrowser.ReadyState = READYSTATE_COMPLETE
    Set HTMLDoc = MyBrowser.document
    Do While HTMLDoc.getElementById("gigya-login-form") Is Nothing
        DoEvents
    Loop
    Set form = HTMLDoc.getElementById("gigya-login-form")
    form.all.UserName.Value = "[email protected]" 'Enter your email id here
    form.all.Password.Value = "xxxxx" 'Enter your password here
    form.submit
End Sub

El caso es que inserta correctamente los campos de usuario y password, incluso aparentemente hace el inicio de sesión, pero no me loguea. En vez de eso me lleva a la pagina inicial de repsol como si no hubiera hecho absolutamente nada, creo que el fallo está en el submit.

¿Alguien puede ayudarme?

1 respuesta

Respuesta
1

[Hola. Intenta algo así:

Forms. Item(0). Submit

Le estás indicando que "envíe" a todo el formulario no al botón en especifico.

Saludos]

Abraham Valencia

PD: Puede haber una variación en esa línea, pero yo no puedo hacer pruebas por obvias razones.

¡Gracias! 

No funcionó amigo pero te agradezco el interés. Por si sirve de ayuda a otros, finalmente pude hacerla funcionar con el siguiente:

form.getElementsByClassName("gigya-input-submit")(0).Click

Saludos.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas