【问题标题】:Determine when a page has finished loading when using WebBrowser view in WPF (Windows.Controls.WebBrowser)在 WPF (Windows.Controls.WebBrowser) 中使用 WebBrowser 视图时确定页面何时完成加载
【发布时间】:2012-11-01 03:35:15
【问题描述】:

我使用了“LoadCompleted”事件,基本上一旦收到事件,我需要截取屏幕截图(我已经构建)。问题是一旦这个事件结束,屏幕截图只是空白(页面尚未加载),只有我延迟 5-10 秒,屏幕截图才会起作用

现在如何确定网页何时完全呈现?加载所有方面等等

【问题讨论】:

  • 您在何时何地引发 LoadCompleted 事件?
  • 我没有提出它,它是由浏览器提出的,但它被触发得太早了

标签: c# .net wpf wpf-controls


【解决方案1】:

您的问题是 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
}

您可能需要稍微尝试一下优先级,但背景似乎对我有用。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-05-28
    • 1970-01-01
    • 2014-06-24
    • 2011-02-16
    • 2012-06-15
    相关资源
    最近更新 更多