又碰到IE点击问题
设计思路是点击网页中的图形按钮,尝试过 _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>
……
加红的部分为要点击的两个图形按钮。
当然,我先认真搜索了论坛里的帖子,貌似没有碰到类似疑问。还是厚颜请大大们指教一二。 用网页快捕试试? 方法N多,给个IE对象操作方法:
$ieObj = _IEGetObjById($oIE, "Image1011")
_IEAction($ieObj, "Click")
还有更方便的JavaScript脚本操作方法,慢慢学吧... _IEImgClick默认是src匹配方式,而且还是全地址匹配,所以按上面的源码会出现难以匹配的情况,因此改用NAME方式就可以匹配了
_IEimgClick($oIE, "Image1011", "name") 没 看明白。。。。新手飘过,希望后面能看懂 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按键方式将焦点移动到所需按钮上,但这样做的话就没有通用性了,换台电脑或换个浏览器就没办法正常运行。 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我目前的代码 2楼的两种方法之前都试过了,编译器返回如下错误。
--> IE.au3 V2.4-0 Warning from function _IEGetObjBy ...
yzpw 发表于 2012-9-26 09:52 http://www.autoitx.com/images/common/back.gif
你的网页源码是通过AU3获得的?要搞网页操作,不要简单右键就作为源码。右键得到的源码很多时候只一部分。 回复 6# yzpw
你贴的源码太少,太具体的建议给不了。
按钮点击后,网页做了什么你应该知道的
_IENavigate($oIe,'javascript:GameStart();',0)
其实脚本是可以直接去执行的,不必非得去实现点击动作
就是说你可以跳过点击动作 回复 9# love5173
这个有点深奥,能具体的讲一下吗?或者哪里有这方面的文章之类的。脚本的直接提交要比模拟点击通用性更好。 回复 10# ppzpph
我做过一个韩国游戏网页自动登录的脚本,最后要点击gamestrat,那是个图片。尝试了很多方法都没点击成功,最后只好直接运行按钮激活的那个脚本,实现的登录游戏
页:
[1]