Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   AutoIt (http://forum.oszone.net/forumdisplay.php?f=103)
-   -   [решено] Отследить переход по ссылке (http://forum.oszone.net/showthread.php?t=147333)

morgan1991 07-08-2009 00:15 1187660

Отследить переход по ссылке
 
Здравствуйте!
Скажите пожалуйста, реально ли отследить переход пользователем по определённый ссылке с любого браузера?
Нужно вообщем так:
Программа ждёт пока пользователь зайдёт по ссылке например: http://test.ru/test.html с любого браузера и как только он это сделал выдать сообщение "Спасибо!".

timsky 07-08-2009 01:46 1187734

Искать окно с заголовком, в котором содержится заголовок сайта.

amel27 07-08-2009 15:18 1188237

morgan1991, на базе примера из справки, только для IE:

- отслеживаем и сохраняем историю навигации;
- блокируем попытки выйти в форум;
- выход из скрипта при закрытии окна браузера.

Код:

; ObjEvent example

$oIE = ObjCreate("InternetExplorer.Application.1")        ; Create Internet Explorer application
$SinkObject=ObjEvent($oIE,"IEEvent_","DWebBrowserEvents2") ; Assign events to UDFs starting with IEEvent_
$oMyError = ObjEvent("AutoIt.Error","MyErrFunc")          ; Initialize a COM error handler

; Do some browsing activities

$oIE.Visible=1
$oIE.RegisterAsDropTarget = 1
$oIE.RegisterAsBrowser = 1
$oIE.Navigate( "http://www.AutoItScript.com/" )

While 1
    Sleep(100)
WEnd

; Обработка события навигации
Func IEEvent_BeforeNavigate2 ($obj, $url)
    Local $url_bk = "http://www.autoitscript.com/forum"

        ConsoleWrite($url)
    If StringRegExp($url, "^\Q"& $url_bk &"\E") Then
        ConsoleWrite(" - BLOCKED!!!")
        $obj.Stop
    EndIf

    ConsoleWrite(@CRLF)
    Return $obj
EndFunc

; Обработка события закрытия окна браузера
Func IEEvent_OnQuit ()
    Exit
EndFunc


; This is my custom defined error handler
Func MyErrFunc()

  Msgbox(0,"AutoItCOM Test","We intercepted a COM Error !"      & @CRLF  & @CRLF & _
            "err.description is: "    & @TAB & $oMyError.description    & @CRLF & _
            "err.windescription:"    & @TAB & $oMyError.windescription & @CRLF & _
            "err.number is: "        & @TAB & hex($oMyError.number,8)  & @CRLF & _
            "err.lastdllerror is: "  & @TAB & $oMyError.lastdllerror  & @CRLF & _
            "err.scriptline is: "    & @TAB & $oMyError.scriptline    & @CRLF & _
            "err.source is: "        & @TAB & $oMyError.source        & @CRLF & _
            "err.helpfile is: "      & @TAB & $oMyError.helpfile      & @CRLF & _
            "err.helpcontext is: "    & @TAB & $oMyError.helpcontext _
            )

Endfunc



Время: 05:05.

Время: 05:05.
© OSzone.net 2001-