找回密码
 加入
搜索
查看: 8984|回复: 12

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

  [复制链接]
发表于 2014-9-14 18:25:57 | 显示全部楼层 |阅读模式
本帖最后由 cihren 于 2014-9-15 20:00 编辑

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


本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?加入

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

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?加入

×
 楼主| 发表于 2014-9-14 22:58:13 | 显示全部楼层
$oTa = _IETagNameGetCollection($oForm2,"input")

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

这样也获取不到啊~!
发表于 2014-9-15 10:46:33 | 显示全部楼层
框架对象用$oFrame = _IEFrameGetCollection($oIE, $i)获取试试。另,给个mht没用,不同域,还有登入的问题。需在实际情况下测试。
 楼主| 发表于 2014-9-15 17:00:19 | 显示全部楼层
回复 4# shqf


    域的问题不存在,上述代码已经成获取到域中的 Form 了,也能取到 Form 中的其它要素。
发表于 2014-9-15 22:14:43 | 显示全部楼层
 楼主| 发表于 2014-9-16 00:09:04 | 显示全部楼层
回复 4# shqf


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

    待明天联机测试后便可确定最终答案。
发表于 2014-9-16 07:54:11 | 显示全部楼层
你这样试试,应该没问题
$obtn = _IEGetObjByName($oIE,"btokok");
发表于 2014-9-18 09:47:30 | 显示全部楼层
$oIE.document.GetElementsByTagName('INPUT' ).item(2).click()
指定个数呢
 楼主| 发表于 2014-9-20 09:04:22 | 显示全部楼层
回复 9# tvzml


    嗯,方法很精典。

    但经过多次测试,问题还是出在iframe上了,即获取不到iframe之中的Dom,还是跨域的问题。
 楼主| 发表于 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");这样获取也失败,郁闷~
 楼主| 发表于 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");这样获取也失败,郁闷~
 楼主| 发表于 2014-9-20 09:11:06 | 显示全部楼层
回复 8# sdwd_lhq


    不行的,获取不到哦~!
您需要登录后才可以回帖 登录 | 加入

本版积分规则

QQ|手机版|小黑屋|AUTOIT CN ( 鲁ICP备19019924号-1 )谷歌 百度

GMT+8, 2024-11-6 07:27 , Processed in 0.080997 second(s), 24 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表