找回密码
 加入
搜索
查看: 4799|回复: 6

[IE类操作] 怎么判断网页是否加载完成?(已解决)

  [复制链接]
发表于 2011-3-25 09:51:02 | 显示全部楼层 |阅读模式
本帖最后由 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,谢谢。。。。
发表于 2011-3-25 10:10:09 | 显示全部楼层
用IE来操作的话太慢了.推荐用wininet,winhttp或winsock.
那样只需要三个数据包,而且没有临时文件.
另外,这个页面某部份好像是使用异步ajax的,_IELoadWait是无法判断这些操作的.
 楼主| 发表于 2011-3-25 10:17:01 | 显示全部楼层
回复 2# ceoguang

谢谢,楼上回复,的确,那个提交操作用_ieloadwait根本无效,ie操作确实很慢,网速的加载很是麻烦,但是我暂时只会简单的模拟鼠标键盘操作,楼上说的winnet,winhttp,winsock不知道能不能给个实例,我学习学习,谢谢。。。。
发表于 2011-4-18 14:24:49 | 显示全部楼层
我也来学习一下
发表于 2011-4-25 11:39:34 | 显示全部楼层
我也来研究下
发表于 2011-4-25 12:11:09 | 显示全部楼层
能不能死亡后人物制动制动跑回打怪点去呀,这个我找了好久了。有高手吗?帮帮忙
发表于 2011-4-25 20:59:36 | 显示全部楼层
我也来研究下
您需要登录后才可以回帖 登录 | 加入

本版积分规则

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

GMT+8, 2024-6-12 04:58 , Processed in 0.081204 second(s), 24 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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