加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 资源网站 > 资源 > 正文

html – 使用AutoIt从iframe获取表单名称

发布时间:2020-12-14 22:33:26 所属栏目:资源 来源:网络整理
导读:我正在使用 AutoIt自动填写网站上的表格. 但我在从网站获取表单名称时遇到问题.我查看HTML的来源并查找表单及其名称,但我仍然收到IEStatus_noMatch错误. 是否有更简单的方法来获取表单名称或如何找到它? 对于对象,我可能会遇到同样的问题. $sUrl = "https:/
我正在使用 AutoIt自动填写网站上的表格.

但我在从网站获取表单名称时遇到问题.我查看HTML的来源并查找表单及其名称,但我仍然收到IEStatus_noMatch错误.

是否有更简单的方法来获取表单名称或如何找到它?

对于对象,我可能会遇到同样的问题.

$sUrl = "https://www.acgme.org/residentdatacollection/login.asp"
$oIE = _IEAttach($sUrl,"url")
If not isObj($oIE) Then
    $oIE = _IECreate()
    _IENavigate($oIE,$sUrl)
EndIf

; Get pointers to the login form and username and password fields
$o_form = _IEFormGetObjByName($oIE,"loginentry")
$o_login = _IEFormElementGetObjByName($o_form,"USERID")
$o_password = _IEFormElementGetObjByName($o_form,"PASSW")

解决方法

我从AutoIt论坛 here得到了这个答案

有两个框架,表格在第二个框架中,因此使用$o_frame = _IEFrameGetCollection($oIE,1)来获取第二个框架(索引1是第二个框架,索引0将是第一个框架).

然后使用以下方法从框架中获取表单:$o_form = _IEFormGetObjByName($o_frame,“loginentry”)

所以你的代码部分看起来像:

; get pointers to the login form and username and password fields
$o_frame = _IEFrameGetCollection($oIE,1)
$o_form = _IEFormGetObjByName($o_frame,"loginentry")

$o_login = _IEFormElementGetObjByName($o_form,"PASSW")

USERID和PASSW是隐藏字段,因此您不会看到它们被填写.如果表单未正确提交,请使用可见字段名称:

$o_login = _IEFormElementGetObjByName($o_form,"posterior")
$o_password = _IEFormElementGetObjByName($o_form,"fossa"

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读