Что нового

[Автоматизация] [Сеть, Интернет, IE] Автоматическая обработка документа до его загрузки

firex

AutoIT Гуру
Сообщения
943
Репутация
208
День добрый :smile:

Имеется объект IE встроенный в GUI AutoIt'а, работать он должен лишь с одним сайтом. На этом сайте слишком много лишней информации, поэтому следует оставлять лишь несколько "частей" html.

На данный момент я с помощью GET-зароса читаю требуемую страницу, обрабатываю ее, и затем вставляю с помощью _IEDocWriteHTML в пустой документ ( подключая необходимые стили ). Все бы хорошо, НО на странице есть ссылки, которые так или иначе позволяют пользователю перейти на другую ( заранее НЕ обработанную ) страницу сайта.

Требуется создать некое событие: как только IE получает HTML с сервера он не начнет его обрабатывать, а прежде отдает его мне на обработку, а затем получает "поправленный вариант".
( этот вариант предпочтительнее, так как не придется возиться с подключением стилей и скриптов ).

Или как вариант "перехватывать" все переходы и отдавать это дело скрипту.

Заранее спасибо за любые советы :smile:
 

inververs

AutoIT Гуру
Сообщения
2,135
Репутация
465
Нужно отлавливать события DWebBrowserEvents2
Перед тем, как осуществляется переход, будет вызываться beforenavigate2. Вот его можно отловить, а в новых версиях Autoit даже отменить.
Код примерно такой:
Код:
$event = ObjEvent($oIe,'_func_event_', 'DWebBrowserEvents2')
;exit
$event.stop()


Func _func_event_beforenavigate2($IEpDisp, ByRef $IEURL, ByRef $IEFlags, ByRef $IETargetFrameName, ByRef $IEPostData, ByRef $IEHeaders, ByRef $IECancel)
	
	
EndFunc
 
Верх