Как использовать среду выполнения HTML в Python

Как использовать среду выполнения HTML в Python

Некоторая обработка HTML предполагает браузерную среду: окно, местоположение, хранилище, диспетчеризацию событий. Aspose.HTML FOSS для Python моделирует эту среду в чистом Python — Window, Navigator, Location, History, Storage, семейство Event и наблюдатели — поэтому такие документы обрабатываются на стороне сервера. Это руководство знакомит с уровнем, используя pip для установки.

Пошаговое руководство

Шаг 1: Установите пакет

git clone https://github.com/aspose-html-foss/Aspose.HTML-FOSS-for-Python.git
cd Aspose.HTML-FOSS-for-Python
pip install -e .

Шаг 2: Импортируйте необходимые классы

from aspose_html.dom import Window, EventTarget, AbortController

Шаг 3: Поймите, когда нужна среда

Разбор, CSSOM и раскладка никогда не требуют окна. Обращайтесь к этому слою только когда обработка документа зависит от состояния окружения — навигации, хранилища, событий или наблюдателей.


Шаг 4: Использовать объекты окружения

Window фиксирует окружение с WindowEventLoop, управляющим диспетчером; Location и History моделируют состояние навигации; Storage моделирует key-value веб-хранилище; Navigator идентичность настраивается через set_default_user_agent(). События диспетчеризуются через EventTarget со стандартным семейством Event, а AbortController/AbortSignal обеспечивают отмену.

Распространённые проблемы и решения

Обработанный документ ожидает глобальные объекты window. Он был написан для браузеров — предоставьте Window слой среды.

Зарегистрированные обработчики событий никогда не срабатывают. Dispatch требует цикл событий; управляйте им с помощью WindowEventLoop.

Логика ветвится по user agent неожиданно. По умолчанию Navigator identity действует — установите её с помощью set_default_user_agent().

Часто задаваемые вопросы

Требуется ли слой окружения для парсинга?

Нет — он опционален; слои парсинга и стилизации независимы от него.

Какие типы событий моделируются?

Стандартный набор: UI, mouse, keyboard, focus, input, popstate, hashchange, error и пользовательские события.

Сохраняется ли Storage на диск?

Storage моделирует поверхность API; сохранение оставлено на усмотрение внедряющего приложения.

См. также:

 Русский