我使用了“LoadCompleted”事件,基本上一旦收到事件,我需要截取屏幕截图(我已经构建)。问题是一旦这个事件消失,屏幕截图只是空白(页面尚未加载),只有我延迟 5-10 秒,屏幕截图才会起作用
现在如何确定网页何时完全呈现?加载所有方面等等
我使用了“LoadCompleted”事件,基本上一旦收到事件,我需要截取屏幕截图(我已经构建)。问题是一旦这个事件消失,屏幕截图只是空白(页面尚未加载),只有我延迟 5-10 秒,屏幕截图才会起作用
现在如何确定网页何时完全呈现?加载所有方面等等
您的问题是 LoadCompleted 事件在页面加载后立即调用,但在呈现之前。我不知道有什么方法可以准确判断它何时完成渲染,但您可以使用 Dispatcher 确保您的代码在任何渲染发生后运行。
private void Browser_LoadCompleted(object sender, NavigationEventArgs e)
{
Dispatcher.Invoke(TakeScreenshot, System.Windows.Threading.DispatcherPriority.Background);
}
private void TakeScreenshot()
{
//insert your screenshot code here
}
您可能需要稍微尝试一下优先级,但背景似乎对我有用。