【问题标题】:Does WebView2 and/or CoreWebView2 expose a website's Frames?WebView2 和/或 CoreWebView2 是否公开网站的框架?
【发布时间】:2021-02-15 12:47:50
【问题描述】:

我可能正在研究自动化网站时最常见的问题之一 -

如何等待 HTML 准备好?

Frames 让这个问题更加复杂。

我看到Frame Navigation Complete 事件只暴露了CoreWebView2NavigationCompletedEventArgs,这真的没有给你太多帮助。一旦这个事件被触发,开发人员是否只剩下将 JavaScript 注入到 Top Document 以找出框架的状态,尤其是 DOM 的状态?从 CoreWebView2 事件中,您如何确定要使用 Javascript 检查哪个 Frame? API 当前是否公开了此框架的名称和/或 ID?

我相信 Frame 具有与浏览器相同的属性和事件,因此可以将 Frame 作为 CoreWebView2 对象获取。

【问题讨论】:

    标签: webview2


    【解决方案1】:

    目前不直接支持。您可以查看我们的github project frames related feature requests,如果您找到匹配的或打开一个新的,请添加 +1。我们计划在未来添加框架对象,但最好记录您的特定场景以确保我们也可以考虑这一点。

    作为一种解决方法,您可以检查 Chrome DevTools Protocol 是否有对您有帮助的 API。在 WebView2 中,您可以使用 CoreWebView2.CallDevToolsProtocolMethodAsync 调用 CDP 方法并使用 CoreWebView2.GetDevToolsProtocolEventReceiver 接收 CDP 事件。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-06-23
      • 2020-11-16
      • 1970-01-01
      • 2010-11-17
      • 2011-07-15
      相关资源
      最近更新 更多