如何在 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 异常。