【问题标题】:Can I get the current HTML or Uri for the Metro WebView control?我可以获取 Metro WebView 控件的当前 HTML 或 Uri 吗?
【发布时间】:2012-01-25 16:51:31
【问题描述】:

当用户在 WebView 中导航时,XAML WebView 控件的 Source 属性似乎没有更新。是否可以获得当前 Uri 或当前在 WebView 中呈现的 HTML?我的需要是解析正在显示的 HTML,这样任何一个都可以工作。

【问题讨论】:

    标签: xaml webview windows-8 microsoft-metro


    【解决方案1】:

    您要查找的属性名为Source

    http://msdn.microsoft.com/en-us/library/windows/apps/windows.ui.xaml.controls.webview.source.aspx

    不幸的是,WinForms WebBrowserDocument 属性似乎不再存在。 您必须重新下载页面并使用 HtmlAgilityPackFizzler/FizzlerEx 等库进行处理。

    【讨论】:

    • 我会再看一遍,但当用户点击链接时,Source 属性似乎没有更新。
    • 问题是关于 Metro/Windows 8 或 UWP 应用程序,而不是 WinForms
    • 我只提到WinForms 是为了指出新旧WebBrowser 之间的区别(WinForms 与 XAML)。 Source 属性仍然是一个可行的选择。
    【解决方案2】:

    事实证明,WebView 没有提供直接检索其 HTML 的方法。但是你可以像这样使用 WebView.InvokeScript:

    webview.InvokeScript("eval", new string[] {"document.documentElement.outerHTML;"})
    

    您也可以通过 LoadCompleted 事件的 NavigationEventArgs.Uri 获取 Uri。

    【讨论】:

      【解决方案3】:

      您是否查看了 WebView 的 LoadCompleted 事件?这给出了刚刚加载的 URI。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2015-01-04
        • 2011-04-15
        • 1970-01-01
        • 1970-01-01
        • 2012-08-19
        • 1970-01-01
        • 2017-08-24
        • 1970-01-01
        相关资源
        最近更新 更多