with read react node how from example create javascript excel-vba webforms submit username

read - Inicie sesión en la página web de JavaScript con Excel vba



node js create excel file (1)

He revisado varios foros, pero desafortunadamente mis habilidades html no son lo que deberían ser. ¿Puede alguien ayudarme a encontrar el comando correcto para iniciar sesión en www.emo.no con Excel VBA? (Ver código en la parte inferior).

Logré completar la barra de búsqueda de google con este código:

Sub Google_Test() Set ie = CreateObject("InternetExplorer.application") Bnavn = "UserNa" With ie .Visible = True .navigate "www.google.com" Do While .Busy Or _ .readyState <> 4 DoEvents Loop ie.document.all("q").Value = Bnavn Do While .Busy Or _ .readyState <> 4 DoEvents Loop End With Set ie = Nothing End Sub

Estoy intentando que Excel VBA inicie sesión en el sitio www.emo.no para mí, pero no puedo encontrar los campos correctos para completar.

El código en la página web en el que intento que Excel VBA inicie sesión es:

<div id="PcLogin"> <script language="Javascript"> var locked = false; function doLogin() { document.login.uid.value = document.login.uid.value.toLowerCase(); document.login.pwd.value = document.login.pwd.value.toLowerCase(); return true; } if(!document.all){ document.captureEvents(Event.CLICK | Event.FOCUS); } /* Code for putting the visible word "Username" in the userID field */ function changeBoxUid() { document.getElementById(''uid1'').style.display=''none''; document.getElementById(''uid2'').style.display=''''; document.getElementById(''uid'').focus(); } function restoreBoxUid() { if(document.getElementById(''uid'').value=='''') { document.getElementById(''uid1'').style.display=''''; document.getElementById(''uid2'').style.display=''none''; } } /* End code for userID field */ /* Code for putting the visible word "Password" in the password field */ function changeBoxPwd() { document.getElementById(''div1'').style.display=''none''; document.getElementById(''div2'').style.display=''''; document.getElementById(''pwd'').focus(); } function restoreBoxPwd() { if(document.getElementById(''pwd'').value=='''') { document.getElementById(''div1'').style.display=''''; document.getElementById(''div2'').style.display=''none''; } } /* End code for password field */ </script><div id="loginBody"> <form target="_top" method="post" id="login" name="login" action="ePortal/ctrl" onsubmit=" if (locked) { return false; } else { locked=true; doLogin(); }; "> <div class="PcLoginPositionInput"> <input value="user" name="action" type="hidden"><input value="login" name="spec" type="hidden"> <div id="uid1"> <input onfocus="changeBoxUid()" name="uid_temp" type="text" class="PcLoginInputFields" value="Brukernavn"> </div> <div id="uid2" style="display: none;"> <input onblur="restoreBoxUid()" value="" id="uid" name="uid" type="text" class="PcLoginInputFields"> </div> <div id="div1"> <input onfocus="changeBoxPwd()" type="text" name="pass_temp" class="PcLoginInputFields" value="Passord"> </div> <div style="display:none" id="div2"> <input onblur="restoreBoxPwd()" value="" type="password" id="pwd" name="pwd" class="PcLoginInputFields"> </div> </div> <div class="PcLoginForgottenPwd"> <a class="login" href="ePortal/ctrl?action=requestnewpassword">Glemt passord?</a> </div> <div id="PcLoginRegister"></div> <input value="" type="submit" class="login_rollover"> </form> </div> </div>

He intentado con "uid", "uid1", "uid2", "uid_temp", "div1", "div2", "pass_temp" y "pwd", pero no hay ninguna acción en la pantalla.

Aquí está el código que estoy usando para el sitio:

Sub EMO_login() '' Source for this code: '' http://stackoverflow.com/questions/24038230/fill-user-name-and-password-in-a-webpage-using-vba '' http://stackoverflow.com/questions/25319983/logging-in-to-website-with-excel-vba Set ie = CreateObject("InternetExplorer.application") Bnavn = User1 Pw = testPass1 With ie .Visible = True .navigate "www.emo.no" Do While .Busy Or _ .readyState <> 4 DoEvents Loop ''This is where the input command should be. Do While .Busy Or _ .readyState <> 4 DoEvents Loop End With Set ie = Nothing End Sub

Estoy en blanco en cuanto a qué poner aquí. ¿Alguien puede mostrarme el comando para completar los dos campos, así como enviar e iniciar sesión?


Thans a @nhee por ayudarme a encontrar una solución.

El código de trabajo se ve así:

Sub EMO_login() Dim ie As Object Dim sht As Worksheet Set sht = Sheet8 Set ie = CreateObject("InternetExplorer.application") With ie .Visible = True .navigate "www.emo.no" Do While .Busy Or _ .readyState <> 4 DoEvents Loop ''Login procedure ie.document.getElementById("uid2").getElementsByTagName("input")(0).Value = "MyUsername" ie.document.getElementById("div2").getElementsByTagName("input")(0).Value = "MyPassword" ie.document.forms("login").submit Do While .Busy Or _ .readyState <> 4 DoEvents Loop End With Set ie = Nothing End Sub