;===============================================================;
;B/S资源单点登录autoit脚本技巧总结(一) ;
;===============================================================;
;下面是普通B/S资源 最常使用的单点登录脚本,下面的讨论也是基于该方法,并考虑各种特殊情况!
$oIE = _IECreate ($temp_url) ; 打开IE
;-------------------------------------------------------
$oForm = _IEFormGetObjByName ($oIE, $form_name)
$inputctrl_username = _IEFormElementGetObjByName ($oForm, $input_username)
$inputctrl_password = _IEFormElementGetObjByName ($oForm, $input_password)
_IEFormElementSetValue ($inputctrl_username, $user)
_IEFormElementSetValue ($inputctrl_password, $pass)
;提交表单方法 1:
;最普通表单,直接提交form
_IEFormSubmit ($oForm)
;提交表单方法 2:
;到提交按钮(这里不包含链接按钮)name属性(id亦可,对应_IEGetObjById),进行点击提交表单
$oSubmit = _IEGetObjByName ($oIE, "submit")
_IEAction ($oSubmit, "click")
;提交表单方法 3:
;直接执行链接,或图片链接中(这里指以非 input标签形式存在的按钮,该按钮使用方法2无法获取按钮)或者 form action中的 提交js脚本
$oIE.document.parentWindow.execscriptautoit("onSubmitForm()")
;form没有name属性的情况,如何获取form?
$oForm =_IEFormGetCollection ($oIE, 0);获取未命令的form
;第二个参数0代表该form在整个form中的序号,如果只有一个则为0
;================================================================================
;按上面的方法仍然无法获得form(个别页面无 form标签),进而无法按普通方式获取文本框!
;下面的方法获得文本框,即不通过form获取表单元素
;_IEGetObjByName() 和 _IEGetObjById() 2种方法
;同样,这种方法对于 文本框上有js验证的比较有效!
$oname =_IEGetObjById($oIE, $input_username)
_IEAction ($oname, "click")
send($user)
;无法获得form,这种方式另外一个赋值方法
$UserName = _IEGetObjById ($oIE, "UserName")
$UserName.focus
$UserName.value = $user
;验证码输入框,获取焦点
$inputctrl_code = _IEFormElementGetObjByName ($oForm, $input_code)
_IEAction($inputctrl_code, "focus")
;对于B/S,中的特殊情况:flash,flex等只能通过坐标定位!略!
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论