Что нового

Интеграция HtmlAgilityPack в AutoIt

Автор
CreatoR

CreatoR

Must AutoIt!
Команда форума
Администратор
Сообщения
8,671
Репутация
2,481
Garrett [?]
зачем вы используете HtmlAgilityPack и Htmlayout одновременно? Разве для большинства задач не хватает возможностей HtmlAgilityPack?
Хватает, просто кто то привык работать с одним, а кто то с другим, да и проще же использовать div#myid вместо div[@id="myid"] :smile:.

проще пользоваться её COM классами
А вот тут можно подробнее?

Я бы вообще использовал только Htmlayout, чтобы не привязываться к системе, но как её научить понимать XPath?
 

Garrett

Модератор
Локальный модератор
Сообщения
3,999
Репутация
967
CreatoR [?]
А вот тут можно подробнее?
Я к примеру пользуюсь System.Collection.
Пространство имен System.Collections содержит интерфейсы и классы, которые определяют различные коллекции объектов, такие как списки, очереди, двоичные массивы, хэш-таблицы и словари.

System.Collections - пространства имен
ArrayList - класс
SortedList - класс
Stack - класс
Queue - класс

Пример:
System.Collections.Queue
Представляет коллекцию объектов, основанную на принципе "первым вошёл — первым вышел".

Код:
#include <Array.au3>
$oQueue = ObjCreate("System.Collections.Queue")

$oQueue.Enqueue("Item_1")
ConsoleWrite(StringFormat("Добавляем элемент %s в конец коллекции.\n", "Item_1"))
$aQueueArray = $oQueue.ToArray
_ArrayDisplay($aQueueArray, StringFormat("Элементов №: %s\n", $oQueue.Count))

$oQueue.Enqueue("Item_2")
ConsoleWrite(StringFormat("Добавляем элемент %s в конец коллекции.%s\n", "Item_2"))
$aQueueArray = $oQueue.ToArray
_ArrayDisplay($aQueueArray, StringFormat("Элементов №: %s\n", $oQueue.Count))

$oQueue.Enqueue("Item_3")
ConsoleWrite(StringFormat("Добавляем элемент %s в конец коллекции.%s\n", "Item_3"))
$aQueueArray = $oQueue.ToArray
_ArrayDisplay($aQueueArray, StringFormat("Элементов №: %s\n", $oQueue.Count))

$oQueue.Enqueue("Item_4")
ConsoleWrite(StringFormat("Добавляем элемент %s в конец коллекции.\n", "Item_4"))
$aQueueArray = $oQueue.ToArray
_ArrayDisplay($aQueueArray, StringFormat("Элементов №: %s\n", $oQueue.Count))

MsgBox(64, StringFormat("Существует ли элемент %s в коллекции? %s\n", '"Item_2"'), $oQueue.Contains("Item_2") ? "Да!" : "Нет!")
MsgBox(64, StringFormat("Существует ли элемент %s в коллекции? %s\n", '"Item_5"'), $oQueue.Contains("Item_5") ? "Да!" : "Нет!")

ConsoleWrite(StringFormat("Возвращяем (и удаляем) первый элемент коллекции %s.\n", $oQueue.Dequeue))
$aQueueArray = $oQueue.ToArray
_ArrayDisplay($aQueueArray, StringFormat("Элементов №: %s\n", $oQueue.Count))

ConsoleWrite(StringFormat("Возвращяем (не удаляем) первый элемент коллекции %s.\n", $oQueue.Peek))
$aQueueArray = $oQueue.ToArray
_ArrayDisplay($aQueueArray, StringFormat("Элементов №: %s\n", $oQueue.Count))

ConsoleWrite(StringFormat("Возвращяем (и удаляем) первый элемент коллекции %s.\n", $oQueue.Dequeue))
$aQueueArray = $oQueue.ToArray
_ArrayDisplay($aQueueArray, StringFormat("Элементов №: %s\n", $oQueue.Count))

ConsoleWrite(StringFormat("Возвращяем (и удаляем) первый элемент коллекции %s.\n", $oQueue.Dequeue))
$aQueueArray = $oQueue.ToArray
_ArrayDisplay($aQueueArray, StringFormat("Элементов №: %s\n", $oQueue.Count))

$oQueue.Enqueue("Item_5")
ConsoleWrite(StringFormat("Добавляем элемент %s в конец коллекции.\n", "Item_5"))
$aQueueArray = $oQueue.ToArray
_ArrayDisplay($aQueueArray, StringFormat("Элементов №: %s\n", $oQueue.Count))

$oQueue.Clear
ConsoleWrite(StringFormat("Удаляет все элементы коллекции.\n"))
$aQueueArray = $oQueue.ToArray
_ArrayDisplay($aQueueArray, StringFormat("Элементов №: %s\n", $oQueue.Count))
 
Верх