找回密码
 加入
搜索
查看: 1817|回复: 5

请问_IECreate如何判断超时并自动退出?

[复制链接]
发表于 2008-11-8 04:24:08 | 显示全部楼层 |阅读模式
如题
$oIE = _IECreate("http://weather.news.qq.com/inc/ss296.htm", 1, 1)
如果有时候网络中断不能打开网页,怎么判断它超时并退出?
我用
if @error then Exit
好像不行,还是会执行后面的语句。

[ 本帖最后由 pig 于 2008-11-25 23:14 编辑 ]
发表于 2008-11-8 12:46:58 | 显示全部楼层

$oIE = _IECreate("http://weather.news.qq.com/inc/ss296.htm", 1, 1)
$T = _IEDocReadHTML($oIE)
If StringInStr($T, '什么网页问题的相关错误信息') <> 0 Then exit



$oIE = _IECreate("http://weather.news.qq.com/inc/ss296.htm", 1, 1)
If @error <> 0 then exit


[ 本帖最后由 liongodmien 于 2008-11-8 12:52 编辑 ]
发表于 2008-11-12 00:25:55 | 显示全部楼层
这个函数有返回错误的值。可以参考下
返回值

成功: 返回指向InternetExplorer.Application对象的对象变量
失败: 返回0 并且设置 @ERROR
@Error: 0 ($_IEStatus_Success) = 无错误
1 ($_IEStatus_GeneralError) = 一般性错误
3 ($_IEStatus_InvalidDataType) = 无效数据类型
4 ($_IEStatus_InvalidObjectType) = 无效对象类型
6 ($_IEStatus_LoadWaitTimeout) = 加载等待超时
8 ($_IEStatus_AccessIsDenied) = 服务被拒绝
9 ($_IEStatus_ClientDisconnected) = 客户端断开
@Extended: 如果"附着"是成功设置true (1) ,反之设置为false (0)
 楼主| 发表于 2008-11-12 23:03:50 | 显示全部楼层
原帖由 liongodmien 于 2008-11-8 12:46 发表

$oIE = _IECreate("http://weather.news.qq.com/inc/ss296.htm", 1, 1)
$T = _IEDocReadHTML($oIE)
If StringInStr($T, '什么网页问题的相关错误信息')  0 Then exit


[au3]
$oIE = _IECreate ...


测试@ERROR无效
$oIE = _IECreate("http://weather.news.qq.com/inc/ss296.htm", 1, 1)
If @error<>0 then MsgBox(0,0,"timeout")
用了这个命令,我特地把网络断开,也就是网页会超时,可是一直没有msgbox弹出,脚步还是会执行完所有命令。
现在用这个命令了,因为我是用了获取天气的,直接检测HTML里面有没有我这个城市的天气,没有就退出,实在想不明白为什么@ERROR不能用。
oIE = _IECreate("http://weather.news.qq.com/inc/ss296.htm", 1, 0)
$sHTML = _IEBodyReadText($oIE)
If StringInStr($sHTML, "深圳") = 0 Then Exit
发表于 2008-11-14 17:29:10 | 显示全部楼层
出错是用来确认不能打开网页,也就是404那类的~
 楼主| 发表于 2008-11-25 23:13:42 | 显示全部楼层
好像问题没有解决,不过还是结贴吧。
您需要登录后才可以回帖 登录 | 加入

本版积分规则

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

GMT+8, 2024-5-5 23:07 , Processed in 0.072783 second(s), 19 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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