首页 新闻 会员 周边

关于如何使用C# webbrower 显示页面的某些内容

0
悬赏园豆:50 [待解决问题]

像4399 3366那些网页 如何使用webbrower只显示flash内容 我做了个例子有问题 求解决

namespace WindowsFormsApplication1
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
            webBrowser1.Navigate("http://www.3366.com/game/105785.shtml");
            
        }

        private void webBrowser1_DocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e)
        {
            
            HtmlDocument doc = this.webBrowser1.Document;
            foreach (HtmlElement a in doc.All)
                if (a.GetAttribute("className").ToString().Trim() == "bt_gm_play j_playgame")
                {
                    a.InvokeMember("click");
                   // webBrowser1.Refresh();
                }
                   
            System.IO.StreamReader sr = new System.IO.StreamReader(webBrowser1.DocumentStream, Encoding.GetEncoding("gb2312"));
            string html = sr.ReadToEnd();
            int start = html.IndexOf("var SR = ");
            int end = html.IndexOf("</script>", start) + 9;
            string fut = html.Substring(start, end - start);
            HtmlDocument doc1 = this.webBrowser1.Document;
            HtmlElement he = doc1.GetElementById("game_detail_wrapper_id");
           // HtmlElement he1 = he.GetElementsByTagName("div").GetElementsByName("flash_box");
            StringBuilder sb = new StringBuilder();
           // sb.Append(sc);
            //sb.Append("<script type=\"text/javascript\">SR.set(1);</script>");
           // sb.Append("<script>");
            sb.Append("<script type=\"text/javascript\">");
            sb.Append("\r\n");
            sb.Append(fut);
           
            sb.Append(he.OuterHtml); 
            MessageBox.Show(sb.ToString());
            webBrowser1.DocumentText = sb.ToString();

           
        }
    }
}
DickArouse的主页 DickArouse | 初学一级 | 园豆:152
提问于:2014-03-03 10:42
< >
分享
所有回答(3)
0

可以用正则匹配html找出flash,下载flash,然后在显示

笑云 | 园豆:265 (菜鸟二级) | 2014-03-03 11:10
0

找到flash的容器,把其他的元素给干掉。

幻天芒 | 园豆:37175 (高人七级) | 2014-03-03 12:57
0

思路如下:

1、网页URL

2、使用XMLHTTP获取到 相应的网页源代码,而不是使用webbrowser直接访问。

3、得到一个字符串,使用正则表达式,或者土一点,用INSTR之类的,找到FLASH的路径URL。

4、webBrowser1.Navigate(flashurl)

这才是王道....

爱编程的大叔 | 园豆:30839 (高人七级) | 2014-03-03 13:31
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册