2015-02-03 4 views
0

Я не следующий сценарий основан на следующей ссылке: HereAutoIT Скрипт для обработки Chrome аутентификации Окно

If(Not IsArray($CmdLine) Or $CmdLine[0] < 2) Then 
$user = InputBox ("User", "Please enter your user", "") 
$pass = InputBox ("Password", "Please enter your password", "", "*M") 
Else 
$user = $CmdLine[1] 
$pass = $CmdLine[2] 
EndIf 

WinWaitActive("", "Authentication Required", "120") 
If WinExists("", "Authentication Required") Then 
Send($user) 
Send("{TAB}") 
Send($pass) 
Send("{ENTER}") 
EndIf 

Это не работает для меня, ничего не получает вошел во имя пользователя и пароль поля, когда я бегу тест с этим. Я даже создал скрипт, где я просто отправлял строку в поля имени пользователя и пароля, и он тоже не работает.

+0

Вы ожидаете, пока окно не будет активным, тогда вы проверите, существует ли он? Что произойдет, если вы удалите проверку «WinExists»? –

+0

@ Mr.Llama То же поведение. Абсолютно ничего не происходит. – DarthOpto

+0

Неужели это когда-либо пропустило команду 'WinWaitActive'? Попробуйте добавить команду 'MsgBox', чтобы убедиться, что она есть. Обязательно проверьте возвращаемое значение 'WinWaitActive', чтобы убедиться, что это не время ожидания. –

ответ

1

(Эта задача была решена в комментариях, но я копируя ответ здесь для будущих читателей.)

Оказывается, что команда WinWaitActive никогда не найти подсказку входа в систему, что вы ищете. В Chrome 40 в Windows 7 только видимый текст для входа в систему - Chrome Legacy Window, а не Authentication Required (это то, что вы ищете).

Я бы порекомендовал проверку с помощью инструмента «AutoIt Window Info», которое поставляется с AutoIt. Откройте окно проверки подлинности Chrome, заморозите инструмент «Информация о документе», затем перейдите на вкладку «Видимый текст».

Смежные вопросы