2013-09-27 50 views
0

你好,并提前感谢您的时间。将域添加到使用VBScript自动登录的用户名

我正在尝试使用VBscript自动化特定网站的登录。我的代码工作很好......达到某一点。我执行脚本,它会打开IE,填充用户名和密码,然后提交。问题是,在提交凭据后,我收到一个错误消息,说用户名和/或密码不正确。我知道100%用户名和密码实际上是正确的。

我很肯定我找到了罪魁祸首,但我无法弄清楚我应该如何修改我的代码以适应。用萤火虫查看登入画面后,发现有一个域名被追加到使用者名称上。我的代码没有反映这一点,因此我提交后出现用户名/密码错误。

这里是我的代码...以下我的代码是JavaScript从网站使用Firebug拉:

On Error Resume Next 

Const PAGE_LOADED = 4 

Set objIE = CreateObject("InternetExplorer.Application") 

Call objIE.Navigate("https://snvacaid-bwxsp01.megapathvoice.com/Login/") 

objIE.Visible = True 

Do Until objIE.ReadyState = PAGE_LOADED : Call WScript.Sleep(100) : 

Loop 

objIE.Document.loginForm.EnteredUserID.Value = "username" 

objIE.Document.all.Password.Value = "password" 

If Err.Number <> 0 Then 

    msgbox "Error: " & err.Description 

End If 

Call objIE.Document.all.loginForm.submit 

Set objIE = Nothing 

从网站上的JavaScript:

function submitForm() { 
    //append domain to the userId if it is available and not 

    //already contained in the userId 

    var userId = document.loginForm.EnteredUserID.value; 

    var domain = document.loginForm.domain.value; 

    document.loginForm.UserID.value = userId; 

    if ((userId.indexOf("@") == -1) && (domain != "")){ 
     document.loginForm.UserID.value = userId + "@" + domain; 
    } 

    document.loginForm.submit(); 
} 
+0

看起来他们正在将域名添加到您的用户名,如果它不存在使用JavaScript函数。只需在您的vb脚本中以“username @ domain”的形式提供用户名即可解决此问题。 – Arun

+0

谢谢你的建议,但它不起作用。 – AngryNinja

+0

你尝试过“domain \ userId”吗? – PatricK

回答

0

对不起,这么长时间的通知所有我回答我自己的问题;但是,下面是我提出的解决方案,它确实有效。谢谢你所有的答复。

On Error Resume Next 

Const PAGE_LOADED = 4 

Set WshShell = WScript.CreateObject("WScript.Shell") 

Set objIE = CreateObject("InternetExplorer.Application") 

Call objIE.Navigate("https://snvacaid-bwxsp01.megapathvoice.com/Login/") 

objIE.Visible = True 

Do Until objIE.ReadyState = PAGE_LOADED : Call WScript.Sleep (100) 

Loop 

objIE.Document.loginForm.UserID.Value = "username" 

objIE.Document.all.Password.Value = "password" 

If Err.Number <> 0 Then 

msgbox "Error: " & err.Description 

End If 



Call objIE.Document.all.loginForm.submit 
相关问题