找回密码
 加入
搜索
查看: 3260|回复: 4

[原创] 如何判断网页中某一元素已经加载或者POST的结果?

  [复制链接]
发表于 2012-4-12 20:53:50 | 显示全部楼层 |阅读模式
本帖最后由 仙乃日 于 2012-4-12 22:05 编辑

使用IE来操作网页在一些网速比较慢的时候很烦人的,特别是一些网页含有大量图片的时候。

而我们操作经常是对一些特定网页元素来进行的,只要判断其加载完毕就可以,不必等待整

个网页加载完毕。一开始都是调用IE.AU3这个UDF来着的,结果自己没能力只使用这个UDF

来判断网页中一元素是否加载完毕。直接给个例子:
 $oIE = _IECreate("http://cloud.189.cn/zhuanti/activity2/index.jsp", 1, 1, 0, 0) ;不等待直接返回
        Do
        Until IsObj($oIE)
        ;MsgBox(64,"name",String(ObjName($oIE)))
 Do
  Sleep(200)
 Until StringInStr($oIE.document.body.innerHTML, "apply_btn") ;读取网页body部份的HTML,直到含有给的代码
 $Ele = _IEGetObjById($oIE, "apply_btn")
 _IEAction($Ele, "click")
而对于post提交操作的结果判断,可以使用$oIE.document.body.innerText来判断。

_IECreate ( [$s_Url = "about:blank" [, $f_tryAttach = 0 [, $f_visible = 1 [, $f_wait = 1 [, $f_takeFocus = 1]]]]] )

$f_wait这个参数最终貌似调用_IELoadWait来完成的。就是这一简单的判断自己也费了不少时间,一开始是看到论坛上有人建议

使用_IEGetObjById然后再使用Isobj,结果发现这是行不通的。因为当那元素ID没加载时候,使用_IEGetObjById就会出错,根

本没机会再使用Isobj去判断了。
发表于 2012-4-12 21:11:18 | 显示全部楼层
你是在提问呢还是在给人分享心得呢
 楼主| 发表于 2012-4-12 22:01:53 | 显示全部楼层
回复 2# zldfsz


    都有吧,至少也找着一种可用的法子。希望有朋友也分享一下其解决的法子。
发表于 2012-4-13 04:45:40 | 显示全部楼层
发表于 2013-12-25 14:54:05 | 显示全部楼层
学习来了学习来了
您需要登录后才可以回帖 登录 | 加入

本版积分规则

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

GMT+8, 2024-12-4 16:42 , Processed in 0.070623 second(s), 20 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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