Python で HTML ランタイム環境を使用する方法

Python で HTML ランタイム環境を使用する方法

一部の HTML 処理は、ブラウジング環境(ウィンドウ、ロケーション、ストレージ、イベントディスパッチ)を前提としています。Aspose.HTML は、純粋な Python でその環境をモデル化する Python 用の FOSS であり、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 はキー・バリュー型ウェブストレージをモデル化します; Navigator のアイデンティティは set_default_user_agent() で構成可能です。イベントは EventTarget を通じて標準の Event ファミリーでディスパッチされ、AbortController/AbortSignal がキャンセルを提供します。

一般的な問題と対策

処理されたドキュメントは window globals を期待します。 それはブラウザ向けに作成されました — 提供してください Window 環境レイヤー。

登録された event listeners は決して発火しません。 Dispatch には event loop が必要です; それを以下で駆動してください WindowEventLoop.

Logic は user agent に対して予期せず分岐します。 デフォルト Navigator identity は有効です — 以下で設定してください set_default_user_agent().

よくある質問

パースに環境レイヤーは必須ですか?

いいえ — オプションです; パース層とスタイリング層はそれとは独立しています。

どのイベントタイプがモデル化されていますか?

標準ファミリー: UI、mouse、keyboard、focus、input、popstate、hashchange、error、そしてカスタムイベント。

ストレージはディスクに永続化されますか?

Storage は API サーフェスをモデル化します; 永続化は埋め込みアプリケーションに委ねられています。

参照

 日本語