2014-01-15 28 views
0

當系統處於鎖定狀態時,我正面臨在Firefox中自動彈出身份驗證的問題。使用AutoIt鎖定系統時自動化Firefox身份驗證窗口

我用下面的代碼

While 1=1 
AutoItSetOption("WinTitleMatchMode","2") 
WinWait("Authentication Required") 
$title = WinGetTitle("Authentication Required") ; retrives whole window title 
$UN=WinGetText($title,"User Name:") 
ControlSend($title,"",$UN,"user");Sets Username 
$PWD=WinGetText($title,"Password:") 
Send("{TAB 1}") 
ControlSend($title,"",$PWD,"pass");Sets PWD 
Send("{ENTER}") 
WEnd 

上面的代碼工作正常whensystem解鎖。但是當系統被鎖定時我遇到了問題,我觀察到的是它在用戶名文本字段中發送用戶名,但是當系統被鎖定時它不能執行「發送{TAB 1}」。任何幫助?

+0

好變化,而1 = 1只,而1,因爲1總是等於1,因此有在聲明中沒有任何意義。嘗試只使用發送(「{TAB}」)' –

+0

嗨JonBecher,感謝您的答覆。我嘗試使用Send(「{TAB}」),但仍然沒有運氣。當系統鎖定時,它會在用戶名字段中輸入用戶名和密碼。只有當我點擊彈出窗口時,TAB纔會起作用。 –

+0

嘗試在發送tab命令之前添加一個'sleep(500)'。 –

回答

0

您應該儘可能避免使用Send()。 相反,使用

ControlSend ("title", "text", controlID, "string" [, flag]) 

在你的情況下,其

ControlSend ($title, "", "", "{ENTER}")