如何从Windows Phone webview控件获取内容

时间:2014-10-13 19:21:17

标签: windows-phone-8 webview windows-phone-8.1

我正在尝试从webview控件获取DOM模型,或者只是通过XML工具来处理它。该控件不提供任何返回我需要的属性。我使用JS找到了一个解决方案:

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

但是我得到了一个未实现的例外。

我做错了什么?我是WP编程的新手。

1 个答案:

答案 0 :(得分:9)

与Romasz一样,使用InvokeScriptAsync - 但要确保首先加载页面。

示例应用程序:

<Grid>        
    <StackPanel>
        <WebView x:Name="myWebView" Height="300" VerticalAlignment="Top" />
        <Button Content="Read HTML" Click="Button_Click" />
        <TextBlock x:Name="myTextBlock"></TextBlock>
    </StackPanel>
</Grid>
    private void Page_Loaded(object sender, RoutedEventArgs e)
    {
        this.myWebView.Navigate(new Uri("http://www.google.com", UriKind.Absolute));
    }

    private async void Button_Click(object sender, RoutedEventArgs e)
    {
        try
        {
            string html = await myWebView.InvokeScriptAsync("eval", new string[] { "document.documentElement.outerHTML;" });
            myTextBlock.Text = html;
        }
        catch (Exception ex)
        {
        }
    }

enter image description here