找回密码
 加入
搜索
查看: 4934|回复: 9

[IE类操作] 如何改写_IECreate 让其加载完DOM后就执行后续动作

  [复制链接]
发表于 2011-11-26 14:35:29 | 显示全部楼层 |阅读模式
在用  _IECreate  创建对象的时候发现 它会等整个IE窗口加载完毕内容后才会执行后面的动作 (包括加载 图片 flash 等资源) 在网络不好的情况下浪费很多时间     有没有什么方法 可以类似 javascript 的 Jquery 里的 ready 方法一样 只要加载完毕 DOM就执行后续动作呢 不用等图片 和 flash 之类的!  谢谢了
发表于 2011-11-26 18:14:30 | 显示全部楼层
直接inetgetsource得了
 楼主| 发表于 2011-11-26 20:24:24 | 显示全部楼层
回复 2# kevinch


    用这个函数获取到HTML源码后再怎么做能进行类似 _IECreate那样的模拟登陆呢 不会啊!
发表于 2011-11-26 20:33:13 | 显示全部楼层
直接死循环
像这个样
Do
        $user1 = _IEGetObjById($oIE, "u")
        Sleep(100)
Until IsObj($user1)
然后再执行后续操作
发表于 2011-11-26 22:53:10 | 显示全部楼层
回复 3# JBOY1009
原来是要模拟登录啊,那用4楼的方法吧,我也是这样写的,速度还是相当快的,相当于手工操作时看到出现了可用对话框就开始输入
 楼主| 发表于 2011-11-27 17:25:25 | 显示全部楼层
回复 4# dddxxx


    不知道为什么好像我用的不起作用啊   $oie _IECreate($url , 0,1,0,0) 好像报错  参数改为  0,1,1,0 的话 那不又是要等待IE加载页面完毕了嚒  很头疼
发表于 2011-11-27 21:49:29 | 显示全部楼层
IE的东东还真的不懂,今天白天研究一下,还是迷迷糊糊的。
发表于 2011-11-28 10:35:19 | 显示全部楼层
回复 6# JBOY1009

报的什么错误呢??看看@error的返回值
 楼主| 发表于 2011-11-28 14:30:27 | 显示全部楼层
回复 8# dddxxx


      Do
        $user1 = _IEGetObjById($oIE, "u")
        Sleep(100)
Until IsObj($user1)
这代码里的  $oIE 是用_IECreate 创建的嚒  参数是什么?  其中有一个参数 $oIE_wait 不知道是怎么设置的  默认为 1 等待IE加载完毕内容 我想设置为0  直接返回  然后自己在判断DOM 是否全部加载完毕 二不管 图片那些加载完毕没   
_IECreate 在用这个创建IE对象的时候 如果我不事先运行IE 也会报错的不知道为什么 必须要事先打开IE @error 为 1
发表于 2011-11-28 23:27:22 | 显示全部楼层
回复 9# JBOY1009

#include <ie.au3>
$user = "user"
$oIE = _IECreate("http://vip.xunlei.com/index.html?", 0, 1, 0)

Do
        $user1 = _IEGetObjById($oIE, "u")
        Sleep(100)
Until IsObj($user1)
$user1.value = $user
    你前面写的参数应该没错的啊...你自己再测试下吧
您需要登录后才可以回帖 登录 | 加入

本版积分规则

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

GMT+8, 2024-6-3 07:30 , Processed in 0.075889 second(s), 24 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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