怎么判断网页是否加载完成?(已解决)
本帖最后由 kinghu318 于 2011-3-29 15:30 编辑Global $ie = _IECreateEmbedded ()
GUICtrlCreateObj($ie,0, 400, 600,400)
_IENavigate($ie,"reg.qq.com")
............中间是一系列的赋值操作
$sub=_IEGetObjById($ie,"a_submit");获取注册按钮
_IEAction ($sub, "click");模拟点击事件
_IELoadWait ($ie);等待加载(好像无法等待网页加载完成)
getQQ("sss")
Func getQQ($ms)
_logerr();一些错误提示的获取
$divs=_IETagNameGetCollection($ie,"div")
for $div In $divs
if $div.className=="account" Then
GUICtrlCreateListViewItem($div.innerText,$ListView1)
writeQQ($div.innerText,$ms);注册成功的QQ写入文本
EndIf
Next
EndIf
EndFunc
Func _logerr()
$yzmcw=_IEGetObjById($ie,"e_validecode")
if not @error Then
if $yzmcw.innerText<>"" Then
;SplashOff()
GUICtrlCreateListViewItem($yzmcw.innerText,$ListView1)
$res=True
EndIf
endif
$mmcw=_IEGetObjById($ie,"e_pass")
if not @error Then
if $mmcw.innerText<>"" Then
;SplashOff()
GUICtrlCreateListViewItem($mmcw.innerText,$ListView1)
$res=True
EndIf
endif
$lis=_IETagNameGetCollection($ie,"li")
if @EXTENDED==0 then Sleep(1000)
For $li In $lis
If $li.className=="title" Then
;SplashOff()
GUICtrlCreateListViewItem($li.innerText,$ListView1)
$res=True
EndIf
Next
EndFunc
请各位老大帮忙,因为网速不一,加载网页的速度不同,有时候根本就获取不到网页上的值,怎么样才能判断提交已经完成,然后再进行后面的获取错误或者是成功得到的QQ,谢谢。。。。 用IE来操作的话太慢了.推荐用wininet,winhttp或winsock.
那样只需要三个数据包,而且没有临时文件.
另外,这个页面某部份好像是使用异步ajax的,_IELoadWait是无法判断这些操作的. 回复 2# ceoguang
谢谢,楼上回复,的确,那个提交操作用_ieloadwait根本无效,ie操作确实很慢,网速的加载很是麻烦,但是我暂时只会简单的模拟鼠标键盘操作,楼上说的winnet,winhttp,winsock不知道能不能给个实例,我学习学习,谢谢。。。。 我也来学习一下 我也来研究下 能不能死亡后人物制动制动跑回打怪点去呀,这个我找了好久了。有高手吗?帮帮忙 我也来研究下
页:
[1]