Я использую autoit для запуска Internet Explorer.Я хочу, чтобы IE регистрировал все URL, которые он посещает, в окне консоли.Когда я компилирую этот скрипт, я компилирую его для запуска с окном консоли в фоновом режиме.
#include <IE.au3>
ShellExecute("iexplore.exe", "about:blank")
WinWait("Blank Page")
$oIE = _IEAttach("about:blank", "url")
_IELoadWait($oIE)
_IENavigate($oIE, "http://www.dell.com")
$oEvt = ObjEvent($oIE, "_IEEvent_")
While 1
Sleep(5000)
WEnd
; BeforeNavigate2 method definition
Func _IEEvent_BeforeNavigate2($IEpDisp, $IEURL, $IEFlags, $IETargetFrameName, $IEPostData, $IEHeaders, $IECancel)
ConsoleWrite("!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!--BeforeNavigate2 fired--!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! " & @CRLF & _
"$IEpDisp = " & $IEpDisp() & " - " & ObjName($IEpDisp) & @CRLF & _ ; e.g. default property and name for the object
"$IEURL = " & $IEURL & @CRLF & _
"$IEFlags = " & $IEFlags & @CRLF & _
"$IETargetFrameName = " & $IETargetFrameName & @CRLF & _
"$IEPostData = " & $IEPostData & @CRLF & _
"$IEHeaders = " & $IEHeaders & @CRLF & _
"$IECancel = " & $IECancel & @CRLF & _
"!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! " & @CRLF & @CRLF)
EndFunc ;==>_IEEvent_BeforeNavigate2
Моя проблема заключается в том, что при просмотре этого экземпляра IE в консоли ничего не отображается.Что я делаю не так?
ЗАКЛЮЧИТЕЛЬНОЕ РЕШЕНИЕ
Как и предложил Манадар, я перешел к следующему;этот код выдает ошибку на консоли: --> IE.au3 V2.4-0 Warning from function _IEAttach, $_IEStatus_NoMatch
, но он чисто косметический.
#Region ;**** Directives created by AutoIt3Wrapper_GUI ****
#AutoIt3Wrapper_Change2CUI=y
#AutoIt3Wrapper_Res_requestedExecutionLevel=asInvoker
#EndRegion ;**** Directives created by AutoIt3Wrapper_GUI ****
#include <IE.au3>
$oIE = _IECreate("about:blank", 1)
$oEvt = ObjEvent($oIE, "_IEEvent_", "DWebBrowserEvents2")
_IELoadWait($oIE)
_IENavigate($oIE, "http://www.cisco.com")
; Keep the console window open and poll with Sleep()
While 1
Sleep(5)
WEnd
; BeforeNavigate2 method definition
Func _IEEvent_BeforeNavigate2($IEpDisp, $IEURL, $IEFlags, $IETargetFrameName, $IEPostData, $IEHeaders, $IECancel)
$message = "!!!!!!!!!!!!!!!!!!!!!--BeforeNavigate2 fired--!!!!!!!!!!!!!!!!!!!!!!!! " & @CRLF & _
"$IEpDisp = " & $IEpDisp() & " - " & ObjName($IEpDisp) & @CRLF & _
"$IEURL = " & $IEURL & @CRLF & _
"$IEFlags = " & $IEFlags & @CRLF & _
"$IETargetFrameName = " & $IETargetFrameName & @CRLF & _
"$IEPostData = " & $IEPostData & @CRLF & _
"$IEHeaders = " & $IEHeaders & @CRLF & _
"$IECancel = " & $IECancel & @CRLF & _
"!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!" & @CRLF & @CRLF
ConsoleWrite($message)
EndFunc ;==>_IEEvent_BeforeNavigate2