我对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")
答案 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