如何在 Python 中使用 JavaScript 上下文

如何在 Python 中使用 JavaScript 上下文

针对 Python 的 Aspose.HTML FOSS 的脚本层是显式且基于策略的:在解析期间不会执行任何代码,只有在你评估脚本时,JSContext 才会运行它们,并且模块访问受 ModuleRegistry 和 ModuleLoadPolicy 的控制。本指南阐述了各组成部分及其失败模型,使用 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.js import JSContext, ModuleRegistry, ModuleLoadPolicy

步骤 3:了解评估模型

JSContext 承载评估。脚本失败会在 Python 端以类型化的 JSEvaluationError 形式出现,使脚本错误与流水线错误区分开来。


步骤 4:控制模块访问

ModuleRegistry 将模块标识符映射到实现——注册表是沙箱。缺失的模块会抛出库的类型化 ModuleNotFoundError;ModuleLoadPolicy 决定上下文到底可以加载什么。

常见问题与解决方案

评估触发 ModuleNotFoundError。 脚本导入了一个您尚未注册的模块——请将其添加到 ModuleRegistry 或将此错误视为策略信号。

脚本失败会导致流水线崩溃。 Catch JSEvaluationError 在评估边界处。

脚本访问了超出预期的内容。 Tighten ModuleLoadPolicy 并缩减注册表——小型注册表才是关键。

常见问题

脚本会在解析期间运行吗?

不会。解析从不执行脚本;评估只能通过 JSContext 显式进行。

我该如何对脚本行为进行沙箱化?

在 ModuleRegistry 中仅注册所需模块,并使用 ModuleLoadPolicy 限制加载。

脚本错误如何在 Python 中显现?

作为 JSEvaluationError 异常。

另请参阅

 中文