在哪里可以找到有关页面生命周期事件的文档



我正在使用cdp(https://github.com/mafredri/cdp)以便使用devtools协议生成一个pdf格式的页面。但首先我需要知道页面何时完全加载。我发现networkIdle事件可以帮助我知道这种情况何时发生。但是,我遇到了麻烦,因为networkIdle事件有时会触发两次。然后我需要知道这个是什么时候发射的

您要查找的内容有两部分。

首先,事件被触发两次的原因。创建新选项卡(目标(时,它加载的第一个页面是about:black。您还可以获得此页面的生命周期事件。第二次触发加载事件是您要查找的事件(如果您使用的是Page.lifecycleEvent(

现在,为了处理第二个问题,您还可以使用其他事件。页面加载的基本方法是page.loadEventFired,据我所知,它只会为实际页面触发(但我可能错了(。

重要提示:如果使用生命周期事件,则会分别为每个帧激发它们,这意味着主帧可能会在加载子帧之前完成加载。CCD_ 1具有不同的行为并且等待所有帧激发它们的加载事件。

这里有一篇关于页面生命周期api的好文章。

另一种可能的解决方案是:

document.onreadystatechange = function () {
if (document.readyState === 'complete') {
run the screenshot code...
}
}

最新更新