inververs
AutoIT Гуру
- Сообщения
- 2,135
- Репутация
- 465
В замен парсеру на регулярных выражениях html кода есть более удобный инструмент как объект HTMLDocument.
Создается так:
Позволяет загрузить html код и получать доступ к свойствам и методам.
Все свойства можно найти здесь:
http://msdn.microsoft.com/en-us/library/ms535862
или здесь
http://www.w3schools.com/jsref/dom_obj_document.asp
или же пользоваться функциями из библиотеки IE.au3
Основной метод это write - который загружает html код.
Вот например, получение расположения всех картинок нашего форума:
Добавлено:
Функции из библиотеки Ie.au3
Получим объект Window, для передачи его в функцию _IEGetObjByName
Получим приветствие:
Если весь текст форума без тэгов
Создается так:
Код:
$oHTML = ObjCreate("HTMLFILE")
Позволяет загрузить html код и получать доступ к свойствам и методам.
Все свойства можно найти здесь:
http://msdn.microsoft.com/en-us/library/ms535862
или здесь
http://www.w3schools.com/jsref/dom_obj_document.asp
или же пользоваться функциями из библиотеки IE.au3
Основной метод это write - который загружает html код.
Вот например, получение расположения всех картинок нашего форума:
Код:
Local $oHTTP = ObjCreate("winhttp.winhttprequest.5.1")
$oHTTP.Open("GET", "http://autoit-script.ru/")
$oHTTP.Send()
Local $HTMLSource = $oHTTP.Responsetext
Local $oHTML = ObjCreate("HTMLFILE")
$oHTML.Write($HTMLSource)
Local $imgs = $oHTML.images
For $img in $imgs
ConsoleWrite($img.src & @LF)
Next
Добавлено:
Сообщение автоматически объединено:
Функции из библиотеки Ie.au3
Код:
#include <IE.au3>
$imgs = _IETagNameGetCollection ( $oHTML, 'img')
For $img in $imgs
ConsoleWrite($img.src & @LF)
Next
Получим объект Window, для передачи его в функцию _IEGetObjByName
Код:
Local $oWindow = $oHTML.parentWindow
Получим приветствие:
Код:
Local $oLi = _IEGetObjByName($oWindow,'name')
ConsoleWrite($oLi.InnerText & @LF)
Если весь текст форума без тэгов
Код:
ConsoleWrite(_IEBodyReadText ( $oWindow ) & @LF)