2016-06-29 6 views
0

私はAutoIT Scriptingについて知りません。自分のツールの1つのボタンをクリックすると自動的に実行されるAutoITスクリプトが1つあります。この1つのウェブページが開かれ、ユーザー名とパスワードを入力する必要があります。送信すると、アカウントにログインします。しかしここで私はUsernameとPasswordを入力してSubmitボタンをクリックするプロセスを自動化するタスクを持っています。 ツールから資格情報を読み込み、プロセスを自動的に終了する必要があります。ユーザ名とパスワードを入力して自動的に検証するためのスクリプトです。

私はツールからの資格情報の読み込みに成功しましたが、私はフォームに提出する自動で問題に直面しています。

ウェブページが開かれているときに、ユーザー名とパスワードが自動的に入力されている場合は、AutoIT Scriptingのユーザー名とパスワードフィールドを確認して送信ボタンを自動的にクリックしてください。

以下は私のコードです。このフォームを送信するための構文を、ユーザー名とパスワードのフィールドを検証して提案してください。

; ------------------ 
; Handle login here! ; CHANGE_ME 
; ------------------ 
Local $o_form = _IEFormGetObjByName ($oIE, "loginData") 

Local $o_user = _IEFormElementGetObjByName ($o_form, "j_username") 
;Send("{TAB}") 
Local $o_password = _IEFormElementGetObjByName ($o_form, "j_password") 
;Send("{TAB}") 
Local $o_signin = _IEFormElementGetObjByName ($o_form, "submit") 
;Send("{ENTER}") 

; Set field values and submit the form 
_IEFormElementSetValue ($o_user, $TargetUsername) 
_IEFormElementSetValue ($o_password, $TargetPassword) 
_IEAction ($o_signin, "Click") 

答えて

0

このコードを試して値を変更してください。

#include<IE.au3> 
$sUsername = "Username" 
$sPassword = "Password" 
$sUrl = "http://www5.comunio.de/" 
$oIE = _IECreate($sUrl, 0, 1, 0, 1) 
Sleep(2000) 
$oHWND = _IEPropertyGet($oIE, "hwnd") 
WinSetState($oHWND, "", @SW_MAXIMIZE) 
$oForm = _IEFormGetCollection($oIE, 0) 
$oUsername = _IEFormElementGetObjByName($oForm, 'ID_LOGON_UserNameText') 
$oPassword = _IEFormElementGetObjByName($oForm, "ID_LOGON_PasswordText") 
_IEFormElementSetValue($oUsername, $sUsername) 
_IEFormElementSetValue($oPassword, $sPassword) 
_IEFormSubmit($oForm) 
0

通常、javascriptは検証を行っています。 それをトリガーするためには、使用することができます.focus.clickなど

.clickはすでに.focusをトリガされている場合は、チェックする必要があります。

; ------------------ 
; Handle login here! ; CHANGE_ME 
; ------------------ 
Local $o_form = _IEFormGetObjByName ($oIE, "loginData") 

Local $o_user = _IEFormElementGetObjByName ($o_form, "j_username") 
Local $o_password = _IEFormElementGetObjByName ($o_form, "j_password") 
Local $o_signin = _IEFormElementGetObjByName ($o_form, "submit") 

; Set field values and submit the form 
_IEFormElementSetValue ($o_user, $TargetUsername) 
_IEFormElementSetValue ($o_password, $TargetPassword) 

$o_user.click 
$o_user.focus 

$o_password.click 
$o_password.focus 

$o_signin.focus 
$o_signin.click 
関連する問題