Skip to main content
 首页 » 编程设计

c#之在 WPF (Windows.Controls.WebBrowser) 中使用 WebBrowser View 时确定页面何时完成加载

2024年01月01日43bluestorm

我使用了“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 
} 

您可能需要对优先级进行一些试验,但背景似乎对我有用。