问题描述
我正在尝试在 this.webViewbrowser.CoreWebView2.Navigate(url) 之后执行一个方法。
由于页面未完全加载并且执行了动态脚本,因此目前仍失败。
Microsoft.Web.WebView2 Nuget 包是 v1.0.781 预发布版。
亲切的问候,
尼尔
解决方法
因为页面没有完全加载并且动态脚本被执行。 → 这基本上意味着你需要等待一段时间。没有这样的事件来检测这些动态内容加载脚本何时完成。他们可能会不断刷新页面中的某些信息。
作为一般的答案,对于那些正在寻找加载事件的人,有两个事件可以帮助您检测加载事件:
-
WebView2.NavigationCompleted
→ 在 WebView 完全加载(body.onload 已引发)或加载因错误而停止时引发。 -
WebView2.CoreWebView2.DOMContentLoaded
→ 在解析初始 html 文档时引发。这与 html 中文档的 DOMContentLoaded 事件一致。 (此版本从 1.0.705.50 开始可用。)
但请记住,如果您有一个页面执行一些 ajax 请求(当文档准备好时),我认为很明显上述事件会在您看到所有内容之前引发。在这些情况下,您只需要在事件引发后稍等片刻即可。