Vba login sito web con finestra (senza link alla pagina diretta)

Anonimo
2016-03-17T16:34:15+00:00

Buonasera,

io ho usato questo codice ma con questo pezzo di html (in basso, dopo il codice) non funziona perché il menù per il login appare in una finestra al centro della pagina dopo aver cliccato sul pulsante entra nel sito. Grazie per eventuali risposte.

**********************************Codice*************************************************

Sub Login_Website()

Dim HTMLDoc As HTMLDocument

Dim oBrowser As InternetExplorer

Dim oHTML_Element As IHTMLElement

Dim sURL As String

On Error GoTo Err_Clear

sURL = "http://website.com"

TipoTagName = "input"

Set oBrowser = New InternetExplorer

oBrowser.Silent = True

oBrowser.timeout = 60

oBrowser.Navigate (sURL)

oBrowser.Visible = True

Do

Loop Until oBrowser.ReadyState = READYSTATE_COMPLETE

Set HTMLDoc = oBrowser.Document

HTMLDoc.all.login_name.Value = "username"

HTMLDoc.all.login_password.Value = "password"

For Each oHTML_Element In HTMLDoc.getElementsByTagName(TipoTagName)

If oHTML_Element.Type = "submit" Then oHTML_Element.Click: Exit For

Next

Err_Clear:

    If Err <> 0 Then

        Err.Clear

        Resume Next

    End If

End Sub

************************************Html**************************************************

<li id="userlinks_margin_top">Benvenuto</li>

<li><a class="showlogin" href="#signin_menu"><img src="/templates/tbstudio/images/ico/l_login.png" alt="" /> Entra</a>

<!-- This contains the hidden content for inline calls -->

<div id="loginform" style="display:none">

<div id="signin_menu">

<div class="login-form">

    <form method="post" id="signin" action="#">

<p style="padding-top: 3px;">

      <input name="login_name" id="login_name" tabindex="4" type="text" value="User Name" onfocus="if(this.value=='User Name') this.value='';" onblur="if(this.value=='') this.value='User Name';" title="Please Enter Your User Name" class="userID"  />

    </p>

    <p>

      <input name="login_password" id="login_password" tabindex="5" type="password" value="Password" onfocus="if(this.value=='Password') this.value='';" onblur="if(this.value=='') this.value='Password';" title="Please Enter Your Password" />

    </p>

    <p class="center"><input type="checkbox" name="login_not_save" id="login_not_save" value="1"/> Non Ricordarti DI Me!</p>

    <p class="signbutton">

      <input id="signin_submit" value="SIGN IN" tabindex="6" onclick="submit();" type="submit" name="Invia"  />

    </p>

    <input name="login" type="hidden" id="login" value="submit" />

</form>

Microsoft 365 e Office | Access | Per la casa | Windows

Domanda bloccata. Questa domanda è stata eseguita dalla community del supporto tecnico Microsoft. È possibile votare se è utile, ma non è possibile aggiungere commenti o risposte o seguire la domanda.

0 commenti Nessun commento
Risposta accettata dall'autore della domanda
Anonimo
2016-03-24T09:31:40+00:00

Risolto.

Con questo ciclo individua il pulsante che fa aprire la msgbox per l'inserimento delle credenziali.

[CODE]

Set HTMLDoc = oBrowser.Document

For Each link In HTMLDoc.getElementsByClassName("showlogin")

If link.Value = "#signin_menu" Then

link.Click

Exit For

End If

Next

HTMLDoc.all.login_name.Value = "username"

HTMLDoc.all.login_password.Value = "password"

[/CODE]

La risposta è stata utile?

0 commenti Nessun commento

4 risposte aggiuntive

Ordina per: Più utili
  1. Anonimo
    2016-03-24T10:57:36+00:00

    Bene!

    Grazie per aver condiviso la soluzione trovata.

    Chiudo il post.

    Ciao e alla prossima.

    La risposta è stata utile?

    0 commenti Nessun commento
  2. Anonimo
    2016-03-18T09:05:05+00:00

    In attesa di una risposta qui, io proverei anche a chiedere sui forum di HTML.it:

    La risposta è stata utile?

    0 commenti Nessun commento
  3. Anonimo
    2016-03-18T08:56:22+00:00

    Capisco bene che vorresti inserire ID e Password direttamente dal vb di Access?

    Si, se imposto un punto di interruzione sul codice e apro manualmente il form per l'inserimento dei dati di login, funziona.

    La risposta è stata utile?

    0 commenti Nessun commento
  4. Anonimo
    2016-03-18T08:20:41+00:00

    Capisco bene che vorresti inserire ID e Password direttamente dal vb di Access?

    La risposta è stata utile?

    0 commenti Nessun commento