打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
capfmud - ChinaUnix博客 - IT人与你分享快乐生活

我想在webBrowser控件的网页打开后,可以获得如图所示的超链接文本(把这个文本赋予c#里的一个变量temp)图1:http://hiphotos.baidu.com/%C0%FA%D3%D6/pic/item/da5b8c2a2ced52d2e7cd4033.jpeg 网页:http://image.baidu.com/i?ct=503316480&z=0&tn=baiduimagedetail&word=%C1%D6%D0%C4%C8%E7&in=12214&cl=2&cm=1&sc=0&lm=-1&pn=28&rn=1&di=1533942216&ln=2000&fr= 图2:http://hiphotos.baidu.com/%C0%FA%D3%D6/pic/item/e6492b4febf5f2e2d0c86a33.jpeg 网页:http://image.baidu.com/i?ct=503316480&z=0&tn=baiduimagedetail&word=jay+%D6%DC%BD%DC%C2%D7%D7%EE%D0%C2%CD%BC%C6%AC&in=25292&cl=2&cm=1&sc=0&lm=-1&pn=16&rn=1&di=1278940441&ln=2000&fr= 高手过来看看,一般的方法行不同。

问题补充:

第一个网页链接给错了。修改之:http://image.baidu.com/i?ct=503316480&z=0&tn=baiduimagedetail&word=%C1%D6%D0%C4%C8%E7&in=12214&cl=2&cm=1&sc=0&lm=-1&pn=28&rn=1&di=1533942216&ln=2000&fr=#pn30

最佳答案

添加COM reference, SHDocVw 及 mshtml 将webBrower1.ActiveXInstance属性 传给 SHDocvw.WebBrowser接口使用SHDocvw.WebBrowser接口下的ProgressChange事件在Progress.Equals(ProgressMax)时,取 ((webBrowser1.ActiveXInstance as SHDocVw.WebBrowser).Document as mshtml.HTMLDocumentClass).body.innerText即可 代码类似如此:
  1. private void button1_Click(object sender, EventArgs e)
  2.         {
  3.             SHDocVw.WebBrowser wb = webBrowser1.ActiveXInstance as SHDocVw.WebBrowser;
  4.             wb.ProgressChange += new DWebBrowserEvents2_ProgressChangeEventHandler(wb_ProgressChange);
  5.             object flags = new object(), header = new object(), postdata = new object(), framename = new object();
  6.             webBrowser1.Navigate(@"http://image.baidu.com/i?ct=503316480&z=0&tn=baiduimagedetail&word=%C1%D6%D0%C4%C8%E7&in=31076&cl=2&cm=1&sc=0&lm=-1&pn=0&rn=1&di=503232564&ln=2000&fr=");
  7.         }

  8.         void wb_ProgressChange(int Progress, int ProgressMax)
  9.         {
  10.             if (Progress.Equals(ProgressMax))
  11.                 MessageBox.Show(((webBrowser1.ActiveXInstance as SHDocVw.WebBrowser).Document as mshtml.HTMLDocumentClass).body.innerText);
  12.         }
触发事件你可以再看一下,可能还有更合适的。 但是Progress.Equals(ProgressMax)是最基本的 保证全部加载完毕。 还有个方法你可以自己尝试下,我觉得可以用BHO,但是不知道winform里的webbrowser对象会不会自动加载BHO,用BHO跟上边过程差不多,只是要编成COM

 

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
【VB】Webbrowser中屏蔽弹出窗口及脚本错误提示
C# Webbrowser截屏 禁止弹出窗口及脚本错误提示 截取flash 视频
TWebBrowser 与 MSHTML(1): 从 TWebBrowser 获取 DOM...
人生如梦,你我皆过客,来去匆匆......
c#控制IE浏览器自动点击等事件WebBrowser,mshtml.IHTMLDocument2 | 学步园
自己的IE——用VB制作浏览器
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服