z761003 发表于 2012-3-6 11:27:19

ie.au3报错,简单的问题却搞不定它[已解决]

本帖最后由 z761003 于 2012-3-6 19:05 编辑

刚研究IE.au3,就卡住了,或许问这问题很弱,可能百分之九十九的都知道,就我不知道吧,请大家指教。
我想读某网址的源码,如果用户输入的网址是一个找不到的错误网址,_IECreate()竟然主中断报错了:
C:\Program Files\AutoIt3\Include\IE.au3 (2021) : ==> The requested action with this object has failed.:
Return SetError($_IEStatus_Success, 0, $o_object.document.documentElement.outerHTML)
Return SetError($_IEStatus_Success, 0, $o_object.document^ ERROR

我的程序代码是:
#include <IE.au3>
$oIE=_IECreate ("http://www.错误地址.com",1,0,0);隐藏网页
$sHTML = _IEDocReadHTML($oIE)
MsgBox(0,"",$sHTML)

难不成这个UDF还必须大家都输入对的地址

suiyefeng 发表于 2012-3-6 12:04:17

因为输入的是错误的网址,所以$oIE就不是对象了...无法使用_IEDocReadHTML($oIE)这一句

z761003 发表于 2012-3-6 13:03:33

本帖最后由 z761003 于 2012-3-6 13:08 编辑

问题是不使用这句也错误中断哪{:face (319):}

suiyefeng 发表于 2012-3-6 13:50:01

回复 3# z761003

#include <IE.au3>
$oIE=_IECreate ("http://www.错误地址.com",1,0,0);隐藏网页
单纯这句是不报错的...

yeqing880 发表于 2012-3-6 14:33:12

加上判断啊..

#include <IE.au3>
$oIE=_IECreate ("http://www.错误地址.com",1,0,0);隐藏网页
if @error then exit
$sHTML = _IEDocReadHTML($oIE)
MsgBox(0,"",$sHTML)

z761003 发表于 2012-3-6 19:04:14

自己解决了
                          $oResult = _IEAttach($s_Url, "url")
                          If Not IsObj($oResult) Then
                                        MsgBox(48,"错误","错误的网页地址,找不到你要转换的ASP页面!")
                                        ContinueLoop
                          EndIf
                        $oIE=_IECreate ($s_url,1,0,0)
                        $sHTML = _IEDocReadHTML($oIE)
页: [1]
查看完整版本: ie.au3报错,简单的问题却搞不定它[已解决]