找回密码
 加入
搜索
查看: 7367|回复: 10

[IE类操作] 又碰到IE点击问题

 火.. [复制链接]
发表于 2012-9-24 16:34:26 | 显示全部楼层 |阅读模式
设计思路是点击网页中的图形按钮,尝试过 _IEImgClick  _IEAction 等直接的函数都不行。

看页面的源代码是:

……
function redir(sFromBegin, s){
        if (typeof(setContinueStudy) == "function")
        {
                setContinueStudy(s);
        }
   
                location.href = "XueXi.htm?"+sFromBegin+"video";
}

……
        <td><div align="center"><a href="#" onClick="redir(1,1)" onMouseOut="MM_swapImgRestore()" onMouseOver="MM_swapImage('Image1011','','images/goon-red.gif',1)"><img src="images/goon-gray.gif" name="Image1011" border="0" id="Image1011" /></a></div></td>
          <td><div align="center"></div></td>
          <td><div align="center"><a href="#" onClick="redir(1)" onMouseOut="MM_swapImgRestore()" onMouseOver="MM_swapImage('Image1001','','images/enter-red.gif',1)"><img src="images/enter-gray.gif" name="Image1001" border="0" id="Image1001" /></a></div></td>
……

加红的部分为要点击的两个图形按钮。

当然,我先认真搜索了论坛里的帖子,貌似没有碰到类似疑问。还是厚颜请大大们指教一二。
发表于 2012-9-24 16:46:32 | 显示全部楼层
用网页快捕试试?
发表于 2012-9-25 10:03:12 | 显示全部楼层
方法N多,给个IE对象操作方法:
$ieObj = _IEGetObjById($oIE, "Image1011")
_IEAction($ieObj, "Click")


还有更方便的JavaScript脚本操作方法,慢慢学吧...
发表于 2012-9-25 10:07:27 | 显示全部楼层
_IEImgClick  默认是src匹配方式,而且还是全地址匹配,所以按上面的源码会出现难以匹配的情况,因此改用NAME方式就可以匹配了
_IEimgClick($oIE, "Image1011", "name")
发表于 2012-9-25 22:47:02 | 显示全部楼层
没 看明白。。。。新手飘过,希望后面能看懂
 楼主| 发表于 2012-9-26 09:52:47 | 显示全部楼层
2楼的两种方法之前都试过了,编译器返回如下错误。
--> IE.au3 V2.4-0 Warning from function _IEGetObjById, $_IEStatus_NoMatch (Image1011)
--> IE.au3 V2.4-0 Error from function _IEAction, $_IEStatus_InvalidDataType

--> IE.au3 V2.4-0 Warning from function _IEImgClick, $_IEStatus_NoMatch
全地址、文件名什么的都试过了,一直都是NoMatch。现在暂时用模拟tab按键方式将焦点移动到所需按钮上,但这样做的话就没有通用性了,换台电脑或换个浏览器就没办法正常运行。
 楼主| 发表于 2012-9-26 09:57:19 | 显示全部楼层
 If GUICtrlRead($ls1)<>1 Then              ;设置1为带有音视频选项的课程。(测试)
        Local $oIE = _IECreate("http://www.xxx.cn/student/study.jsp?id=" & GUICtrlRead($ls1))
            Sleep(6000)

            $n=12                         ;设置tab按下的次数,跳转到开始按钮上,不同浏览器、不同系统不一样。
             Send("+{TAB " & $n & "}")       ;用tab跳转到开始按钮上
             Send("{ENTER}")                 ;进入听课
                ;_IEimgClick($oIE, "Image1011", "name")

            $i=0
            While $i<3                      ;45分钟左右课程模式
            WinWait("来自网页的消息")
            ControlClick("来自网页的消息", "", 1)
            $i=$i+1
        WEnd
          Sleep(1000)
        WinClose("http://www.xxx.cn/student/study.jsp")
          EndIf
我目前的代码
发表于 2012-9-26 09:58:34 | 显示全部楼层
2楼的两种方法之前都试过了,编译器返回如下错误。
--> IE.au3 V2.4-0 Warning from function _IEGetObjBy ...
yzpw 发表于 2012-9-26 09:52



    你的网页源码是通过AU3获得的?要搞网页操作,不要简单右键就作为源码。右键得到的源码很多时候只一部分。
发表于 2012-9-26 10:00:00 | 显示全部楼层
回复 6# yzpw
你贴的源码太少,太具体的建议给不了。
按钮点击后,网页做了什么你应该知道的
_IENavigate($oIe,'javascript:GameStart();',0)
其实脚本是可以直接去执行的,不必非得去实现点击动作
就是说你可以跳过点击动作
发表于 2012-10-17 10:23:08 | 显示全部楼层
回复 9# love5173
这个有点深奥,能具体的讲一下吗?或者哪里有这方面的文章之类的。脚本的直接提交要比模拟点击通用性更好。
发表于 2012-10-17 11:32:19 | 显示全部楼层
回复 10# ppzpph
我做过一个韩国游戏网页自动登录的脚本,最后要点击gamestrat,那是个图片。尝试了很多方法都没点击成功,最后只好直接运行按钮激活的那个脚本,实现的登录游戏
您需要登录后才可以回帖 登录 | 加入

本版积分规则

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

GMT+8, 2024-5-17 02:00 , Processed in 0.076996 second(s), 23 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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