[已解决]请教各位高手一个模拟点击的问题
本帖最后由 z761003 于 2012-6-29 08:00 编辑在论坛里翻一天了,自己也折腾很长时间了,就弄不出来,在此请教各位大侠
我想用后台模拟点击网页中的这个“登陆”按钮,网页中它的代码是:
<div class="button2" onMouseOver="this.style.background='url(bg2o.gif)'" onMouseOut="this.style.background='url(bg2.gif)'"><span class="confirm" onClick="javascript:OnBtnLogin()">登 陆</span></div>
用了类似 _IETagNameGetCollection()_IEAction()等函数都点不到它,怎么办?因为我是隐藏打开IE窗口的,后台点击,实际并看不到网页,所以不要用MouseClick 这类函数。
网址是http://www.alicall.com/alicall.asp我用如下语句先点击了设置,再填上帐号和密码,然后就想点那个“登陆”,就卡在这登陆上面了
我已经写好的代码是:
#include <GUIConstants.au3>
#include <Constants.au3>
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
#include <ButtonConstants.au3>
#include <GDIPlusEx.au3>
#include <Thread.au3>
#include <DateTimeConstants.au3>
#include <GuiListView.au3>
#include <String.au3>
#Include <Date.au3>
#Include <File.au3>
#include<ie.au3>
$IE=_iecreate("http://www.alicall.com/alicall.asp",0,1,1,1) ; 参数本来是0,0,1,1的,这里为了大家能看到窗口,我改成0,1,1,1
_IELoadWait($IE)
$button = _IEGetObjById ($IE, "fun3")
_IEAction($button,'click')
$cardno1=_IEGetObjById ($IE, "cardno1")
_IEFormElementSetValue ($cardno1, "139******")
$password1=_IEGetObjById ($IE, "password1")
_IEFormElementSetValue ($password1, "123456")
5#给的两个方法都可行,衷心感谢 没一个人回复怎么就沉底了,顶起来 没网址 如何测试? 你这样搞,再怎么顶也白搭... 回复 3# bdancerlc
我把网址还有我已经写的代码都贴出来了,特请教下。 _IENavigate($IE, "javascript:OnBtnLogin();", 0)
试试直接执行js 回复 4# z761003
我这边 网页打不开,我去 ..试了好多次了 ! 爱莫能助了!..看下 5# 方法 好不好用!.. 5#方法能点击那个按钮,可又出了个新问题,_IENavigate($IE, "javascript:OnBtnLogin();", 0)
这条命令会让页面跳出个个窗口,请问5#,能不能这条指令稍改下,不要出现这个窗可以做到吗{:face (229):} 本帖最后由 z761003 于 2012-6-28 22:11 编辑
回复 5# suiyefeng
首先很感谢你的指教,我弱弱地还想问下,你的方法能点击那个按钮,可这条命令会让页面跳出个楼上所示的窗口,而且这个窗口还无法用send("{enter}")处理,因为代码暂停执行了。请问有没办法不要出现这个窗呢{:face (332):} $IE=_iecreate("http://www.alicall.com/alicall.asp", 0) ; 参数本来是0,0,1,1的,这里为了大家能看到窗口,我改成0,1,1,1
_IELoadWait($IE)
$button = _IEGetObjById ($IE, "fun3")
_IEAction($button,'click')
$cardno1=_IEGetObjById ($IE, "cardno1")
_IEFormElementSetValue ($cardno1, "139******")
$password1=_IEGetObjById ($IE, "password1")
_IEFormElementSetValue ($password1, "123456")
$oSpans =_IETagNameGetCollection($IE, "span")
For $oSpan In $oSpans
If StringInStr($oSpan.outertext, "登 陆") Then
$oSpan.click
ExitLoop
EndIf
Next
试试这个吧 好啊。。。。这位大哥真热心
页:
[1]