自动脚本用于填充用户名和密码,并通过自动验证提交

时间:2016-06-29 09:09:48

标签: javascript autoit

我对AutoIT Scripting一无所知,我有一个AutoIT脚本,它会通过点击我工具中的一个按钮自动运行。有了这个网页就会打开,我们需要输入用户名和密码,提交后会登录到该帐户。但在这里,我有一项任务是自动输入用户名和密码并单击提交按钮。 我需要从工具中读取凭据并自动结束该过程。

我成功地从工具中读取凭据,但我在自动提交表单时面临问题。

现在当网页打开时,用户名和密码会自动填充,请帮助我通过验证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")

2 个答案:

答案 0 :(得分: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)

答案 1 :(得分: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