问题描述
在 Chrome 的 Puppeteer 中,您可以在 ExecutionContextDescription.auxData
处找到一个包含以下属性的对象:isDefault
、type
和 frameId
frameId
相当容易理解,但其他属性似乎没有任何记录。什么使执行上下文成为默认上下文?在任何给定时间,每个帧的执行上下文不是始终只有一个吗?
解决方法
来自https://github.com/puppeteer/puppeteer/blob/main/docs/api.md#overview:
Frame 至少有一个执行上下文 - 默认执行上下文 - 执行框架的 JavaScript 的地方。 Frame 可能具有与扩展相关联的其他执行上下文。