locked
如何获得WebBrowser中显示的内容? RRS feed

  • 问题

  • 需要解析一个网页,如何读取WebBrowser中的内容?

    可以获得其中的Document吗?

    2016年7月18日 1:25

答案

  • 你好,升宝,

    不好意思,之前的参考链接我忽略了Silverlight中的特殊情况。

    首先我想请问你是如何显示WebBrowser中的内容的?是用Navigate()方法还是NavigateToString() 方法?

    如果是使用Navigate()方法,那我们只能通过WebBrowser.Source来获取显示的内容所在的Uri。

    如果你是使用NavigateToString()来显示内容的,那我们就可以通过WebBrowser.SaveToString()来获取整个显示的HTML内容。

    以下代码片段是这两种方式的使用,注释掉的是NavigeteToString的方式,未注释掉的是Naviget的方式。

     public WebBrowserSample()
            {
                InitializeComponent();
    
                //webBrowser.NavigateToString("<h1>HTML in Silverlight</h1><p>This is some <strong>simple HTML</strong>!</p>");
                webBrowser.Navigate(new Uri("http://www.microsoft.com"));
            }
    
            private void button_Click_1(object sender, RoutedEventArgs e)
            {
                //string s = webBrowser.SaveToString();
    
                Uri uri = webBrowser.Source;
            }

    Best Regards,
    Weiwei


    We are trying to better understand customer views on social support experience, so your participation in this interview project would be greatly appreciated if you have time. Thanks for helping make community forums a great place.
    Click HERE to participate the survey.

    • 已标记为答案 Weiwei Cai 2016年8月8日 9:24
    2016年7月19日 6:53

全部回复

  • 你好, 升宝,

    你的意思是想获取WebBrowser中的Document是吗?

    请使用WebBrowser.Document 属性, 它可以用来HtmlDocument,它表示当前显示在 WebBrowser 控件中的网页。具体用法,请参考以下MSDN文档。</sentencetext>

    https://msdn.microsoft.com/zh-cn/library/system.windows.forms.webbrowser.document(v=vs.110).aspx

    Best Regards,
    Weiwei


    We are trying to better understand customer views on social support experience, so your participation in this interview project would be greatly appreciated if you have time. Thanks for helping make community forums a great place.
    Click HERE to participate the survey.


    2016年7月18日 7:10
  • 谢谢您的答复

    但你提供的方法不能用于Silverlight中,sl中的WebBrowser并没有Document。

    2016年7月19日 2:25
  • 你好,升宝,

    不好意思,之前的参考链接我忽略了Silverlight中的特殊情况。

    首先我想请问你是如何显示WebBrowser中的内容的?是用Navigate()方法还是NavigateToString() 方法?

    如果是使用Navigate()方法,那我们只能通过WebBrowser.Source来获取显示的内容所在的Uri。

    如果你是使用NavigateToString()来显示内容的,那我们就可以通过WebBrowser.SaveToString()来获取整个显示的HTML内容。

    以下代码片段是这两种方式的使用,注释掉的是NavigeteToString的方式,未注释掉的是Naviget的方式。

     public WebBrowserSample()
            {
                InitializeComponent();
    
                //webBrowser.NavigateToString("<h1>HTML in Silverlight</h1><p>This is some <strong>simple HTML</strong>!</p>");
                webBrowser.Navigate(new Uri("http://www.microsoft.com"));
            }
    
            private void button_Click_1(object sender, RoutedEventArgs e)
            {
                //string s = webBrowser.SaveToString();
    
                Uri uri = webBrowser.Source;
            }

    Best Regards,
    Weiwei


    We are trying to better understand customer views on social support experience, so your participation in this interview project would be greatly appreciated if you have time. Thanks for helping make community forums a great place.
    Click HERE to participate the survey.

    • 已标记为答案 Weiwei Cai 2016年8月8日 9:24
    2016年7月19日 6:53