[已解决]读取网页信息失败后的判断问题
本帖最后由 xlcwxl 于 2010-3-19 08:35 编辑#include <IE.au3>
$oIE = _IECreate ("http://www.baidu.com")
$sText = _IEBodyReadText ($oIE)
IfNot @error Then
msgbox(64,'',$sText)
Else
msgbox(64,'','打开失败')
EndIf
当没有连接网络的时候,返回失败,上面代码错在哪里?
答案六楼 我想是不是应该这样啊?我没试!
#include <IE.au3>
$oIE = _IECreate ("http://www.baidu.com")
IfNot @error Then
$sText = _IEBodyReadText ($oIE)
msgbox(64,'',$sText)
Else
msgbox(64,'','打开失败')
EndIf 没有连接网络的时候LZ使用的函数貌似都不会有@Error~ 也就只会是 Not @Error 的情况。 回复 2# 水木子
试过,无效,帮助是这么说的
返回值
成功:
返回文档<body>内包含的文字
失败:
返回0 并且设置 @ERROR
@Error:
0 ($_IEStatus_Success) = 无错误
3 ($_IEStatus_InvalidDataType) = 无效数据类型
@Extended:
包含无效参数数量 回复 3# afan
谢谢afan
无效 #include <IE.au3>
$oIE = _IECreate ("http://www.baidu.com")
$sText = _IEBodyReadText ($oIE)
If StringInStr($sText,"不能链接到您请求的网页") Then
msgbox(64,'','打开失败')
Else
msgbox(64,'',$sText)
EndIf 回复 6# lynfr8
谢谢,我也 这么想的 回复 6# lynfr8
鄙人之见 应该设置一个超时,否则 直接用 _IEBodyReadText ($oIE) 来判断 有的时候会出现错误
更提高效率#include <IE.au3>
$oIE = _IECreate("http://www.baidu.com/", 0, 1, 0)
If _IELoadWait($oIE, 1000, 5000) = 1 Then
$sText = _IEBodyReadText($oIE)
If StringInStr($sText, "不能链接到您请求的网页") Then
MsgBox(0,"","不能链接到您请求的网页")
Else
MsgBox(0,"","Ok")
EndIf
Else
MsgBox(0, "", @error)
EndIf
;~ @Error: 0 ($_IEStatus_Success) = 无错
;~1 ($_IEStatus_GeneralError) = 一般性错误
;~3 ($_IEStatus_InvalidDataType) = 无效数据类型
;~4 ($_IEStatus_InvalidObjectType) = 无效对象类型
;~6 ($_IEStatus_LoadWaitTimeout) = 等待加载超时
;~8 ($_IEStatus_AccessIsDenied) = 访问被拒绝
;~9 ($_IEStatus_ClientDisconnected) = 客户端断开 回复 8# rho123
这更周到,谢谢 请问可以隐藏打开网页吗?就是直接在后台打开。如果 打不开就提示打不开。如果可以打开则取里面的值作为变量。
页:
[1]