求一个IE按钮点击的方法,无人能搞定,大神帮忙啊!!!!!
本帖最后由 cihren 于 2014-9-15 20:00 编辑如下图,想点击红线内的四个按钮,求大神指导~
#include <IE.au3>
$oIE = _IEAttach("查询2.mht","URL")
$oForm = _IEFormGetObjByName($oIE,"loginForm")
$oFrame = _IEGetObjById($oForm,"iframe_busitype")
$oForm = _IEFormGetObjByName($oFrame,"loginForm")
$oBtn = _IEFormElementGetObjByName($oForm,"btokok") ;获取失败
$obtn = _IEGetObjByName($oForm,"btokok");这样获取也失败,郁闷~前边的都正常,就最后一个<input name = "btokok" >,可能是因为表格的原因,死活无法获取,有什么招呢?~ $oTa = _IETagNameGetCollection($oForm2,"input")
For $oTb In $oTa
MsgBox(0,"table",$oTb.name)
Next
这样也获取不到啊~! 框架对象用$oFrame = _IEFrameGetCollection($oIE, $i)获取试试。另,给个mht没用,不同域,还有登入的问题。需在实际情况下测试。 回复 4# shqf
域的问题不存在,上述代码已经成获取到域中的 Form 了,也能取到 Form 中的其它要素。 {:face (288):} 回复 4# shqf
嗯,看来分析的是对的,似乎确实如此。
待明天联机测试后便可确定最终答案。 你这样试试,应该没问题
$obtn = _IEGetObjByName($oIE,"btokok"); $oIE.document.GetElementsByTagName('INPUT' ).item(2).click()
指定个数呢 回复 9# tvzml
嗯,方法很精典。
但经过多次测试,问题还是出在iframe上了,即获取不到iframe之中的Dom,还是跨域的问题。 回复 10# cihren #include <IE.au3>
$oIE = _IEAttach("查询2.mht","URL")
$oForm = _IEFormGetObjByName($oIE,"loginForm")
$oFrame = _IEGetObjById($oForm,"iframe_busitype")
$oForm = _IEFormGetObjByName($oFrame,"loginForm") ;其实这句就出错了,获取到的是第一个form,非预期的。
$oBtn = _IEFormElementGetObjByName($oForm,"btokok") ;获取失败
$obtn = _IEGetObjByName($oForm,"btokok");这样获取也失败,郁闷~
回复 9# tvzml #include <IE.au3>
$oIE = _IEAttach("查询2.mht","URL")
$oForm = _IEFormGetObjByName($oIE,"loginForm")
$oFrame = _IEGetObjById($oForm,"iframe_busitype")
$oForm = _IEFormGetObjByName($oFrame,"loginForm")
;其实这句就出错了,获取到的是第一个form。
$oBtn = _IEFormElementGetObjByName($oForm,"btokok");获取失败
$obtn = _IEGetObjByName($oForm,"btokok");这样获取也失败,郁闷~ 回复 8# sdwd_lhq
不行的,获取不到哦~!
页:
[1]