请问_IECreate如何判断超时并自动退出?
如题$oIE = _IECreate("http://weather.news.qq.com/inc/ss296.htm", 1, 1)
如果有时候网络中断不能打开网页,怎么判断它超时并退出?
我用
if @error then Exit
好像不行,还是会执行后面的语句。
[ 本帖最后由 pig 于 2008-11-25 23:14 编辑 ]
$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 编辑 ] 这个函数有返回错误的值。可以参考下
返回值
成功: 返回指向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) 原帖由 liongodmien 于 2008-11-8 12:46 发表 http://www.autoitx.com/images/common/back.gif
$oIE = _IECreate("http://weather.news.qq.com/inc/ss296.htm", 1, 1)
$T = _IEDocReadHTML($oIE)
If StringInStr($T, '什么网页问题的相关错误信息')0 Then exit
或
$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 出错是用来确认不能打开网页,也就是404那类的~ 好像问题没有解决,不过还是结贴吧。
页:
[1]