cihren 发表于 2014-9-14 18:25:57

求一个IE按钮点击的方法,无人能搞定,大神帮忙啊!!!!!

本帖最后由 cihren 于 2014-9-15 20:00 编辑

如下图,想点击红线内的四个按钮,求大神指导~


cihren 发表于 2014-9-14 21:48:22

#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" >,可能是因为表格的原因,死活无法获取,有什么招呢?~

cihren 发表于 2014-9-14 22:58:13

$oTa = _IETagNameGetCollection($oForm2,"input")

For $oTb In $oTa
        MsgBox(0,"table",$oTb.name)
Next

这样也获取不到啊~!

shqf 发表于 2014-9-15 10:46:33

框架对象用$oFrame = _IEFrameGetCollection($oIE, $i)获取试试。另,给个mht没用,不同域,还有登入的问题。需在实际情况下测试。

cihren 发表于 2014-9-15 17:00:19

回复 4# shqf


    域的问题不存在,上述代码已经成获取到域中的 Form 了,也能取到 Form 中的其它要素。

eden_xw 发表于 2014-9-15 22:14:43

{:face (288):}

cihren 发表于 2014-9-16 00:09:04

回复 4# shqf


    嗯,看来分析的是对的,似乎确实如此。

    待明天联机测试后便可确定最终答案。

sdwd_lhq 发表于 2014-9-16 07:54:11

你这样试试,应该没问题
$obtn = _IEGetObjByName($oIE,"btokok");

tvzml 发表于 2014-9-18 09:47:30

$oIE.document.GetElementsByTagName('INPUT' ).item(2).click()
指定个数呢

cihren 发表于 2014-9-20 09:04:22

回复 9# tvzml


    嗯,方法很精典。

    但经过多次测试,问题还是出在iframe上了,即获取不到iframe之中的Dom,还是跨域的问题。

cihren 发表于 2014-9-20 09:06:37

回复 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");这样获取也失败,郁闷~

cihren 发表于 2014-9-20 09:08:46

回复 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");这样获取也失败,郁闷~

cihren 发表于 2014-9-20 09:11:06

回复 8# sdwd_lhq


    不行的,获取不到哦~!
页: [1]
查看完整版本: 求一个IE按钮点击的方法,无人能搞定,大神帮忙啊!!!!!