Как использовать среду выполнения 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; сохранение оставлено на усмотрение внедряющего приложения.