Webbrowser 在web项目中的使用
         string htmlstr = string.Empty;
 [STAThread]
         public string GetHtmlByWeb(string url)
         {
             try
             {
                 RunWithSingleThread(url);
                 DateTime dtime = DateTime.Now;
                 double timespan = ;
 //等待 页面加载完毕 并获取到参数
                 while (string.IsNullOrWhiteSpace(htmlstr) && timespan < )
                 {
                     DateTime time2 = DateTime.Now;
                     timespan = (time2 - dtime).TotalSeconds;
                 }
                 // double lo = DateTime.Now.Subtract(dtime).TotalSeconds;
             }
             catch (Exception)
             {
             }
             finally
             {
                 if (t != null && t.ThreadState == ThreadState.Running)
                 {
                     t.Abort();
                 }
             }
             return htmlstr;
         }
 //线程
  private Thread t;
 //异步执行WebBrowser
         public void RunWithSingleThread(object url)
         {
             ParameterizedThreadStart ps = new ParameterizedThreadStart(GetHtmlWithBrowser);
             t = new Thread(ps);
             t.IsBackground = true;
             t.ApartmentState = ApartmentState.STA;
             t.Start(url);
         }  
 private WebBrowser wb;
         private void GetHtmlWithBrowser(object url)
         {
             htmlstr = string.Empty;
             wb = new WebBrowser();
             wb.ScriptErrorsSuppressed = true;  //防止脚本异常跳出弹窗
             wb.ScrollBarsEnabled = true;
             wb.Navigate(url.ToString());
             wb.DocumentCompleted += new WebBrowserDocumentCompletedEventHandler(DocumentCompleted);
             while (wb.ReadyState != System.Windows.Forms.WebBrowserReadyState.Complete)
             {
                 System.Windows.Forms.Application.DoEvents(); //避免假死,若去掉则可能无法触发 DocumentCompleted 事件。
             }
         }
 //获取内容
  public void DocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e)
         {
             htmlstr = wb.Document.Body.InnerHtml;
         }
Webbrowser 在web项目中的使用的更多相关文章
- 在基于MVC的Web项目中使用Web API和直接连接两种方式混合式接入
		在我之前介绍的混合式开发框架中,其界面是基于Winform的实现方式,后台使用Web API.WCF服务以及直接连接数据库的几种方式混合式接入,在Web项目中我们也可以采用这种方式实现混合式的接入方式 ... 
- JAVA WEB项目中各种路径的获取
		JAVA WEB项目中各种路径的获取 标签: java webpath文件路径 2014-02-14 15:04 1746人阅读 评论(0) 收藏 举报 分类: JAVA开发(41) 1.可以在s ... 
- Web 项目中分享到微博、QQ空间等分享功能
		Web 项目中分享到微博.QQ空间等分享功能 网上有很多的模板以及代码,但是有很多都不能分享内容,简单的测试了下: 以新浪微博为例,文本框中的内容是title属性,下面的链接是url属性,如果你的链接 ... 
- 【Filter  不登陆无法访问】web项目中写一个过滤器实现用户不登陆,直接给链接,无法进入页面的功能
		在web项目中写一个过滤器实现用户不登陆,直接给链接,无法进入页面,而重定向到登陆界面的功能. 项目是用springMVC+spring+hibernate实现 (和这个没有多大关系) 第一步: 首先 ... 
- java web项目中 获取resource路径下的文件路径
		public GetResource{ String path = GetResource.class.getClassLoader().getResource("xx/xx.txt&quo ... 
- web项目中加入struts2、spring的支持,并整合两者
		Web项目中加入struts2 的支持 在lib下加入strut2的jar包 2. 在web.xml中添加配置 <filter> <filter-name>struts2< ... 
- Java Web学习系列——Maven Web项目中集成使用Spring、MyBatis实现对MySQL的数据访问
		本篇内容还是建立在上一篇Java Web学习系列——Maven Web项目中集成使用Spring基础之上,对之前的Maven Web项目进行升级改造,实现对MySQL的数据访问. 添加依赖Jar包 这 ... 
- 转 web项目中的web.xml元素解析
		转 web项目中的web.xml元素解析 发表于1年前(2014-11-26 15:45) 阅读(497) | 评论(0) 16人收藏此文章, 我要收藏 赞0 上海源创会5月15日与你相约[玫瑰里 ... 
- web项目中 集合Spring&使用junit4测试Spring
		web项目中 集合Spring 问题: 如果将 ApplicationContext applicationContext = new ClassPathXmlApplicationContext(& ... 
随机推荐
- iOS Debug心得 (持续更新)
			最近在维护一个内部比较混乱的APP,Debug的时候遇到很多比较痛苦的地方, 因此做一个Debug记录,对以后的开发会有比较大的帮助: 这样,在开发新项目的时候就可以争取把一些BUG扼杀在襁褓中. & ... 
- jenkins一次构建两次触发job问题
			具体内容详见: https://issues.jenkins-ci.org/browse/JENKINS-21464?focusedCommentId=250183&page=com.atla ... 
- Python上下文管理器(Context managers)
			上下文管理器(Context managers) 上下文管理器允许你在有需要的时候,精确地分配和释放资源. 使用上下文管理器最广泛的案例就是with语句了.想象下你有两个需要结对执行的相关操作,然后还 ... 
- [POI2008]CLO
			Description Byteotia城市有n个 towns m条双向roads. 每条 road 连接 两个不同的 towns ,没有重复的road. 你要把其中一些road变成单向边使得:每个t ... 
- 牛客小白月赛5-J-时间(time) (简单模拟)
			题目描述 Apojacsleam是一个喜欢特殊时刻的人. 他定义了一个时刻,若电子表显示ab:ba(24小时制),则该时刻为“回文时刻”(可以有前导零).例如00:00就是回文时刻. 给定一个时刻,求 ... 
- 转-MAC 下安装PHONEGAP开发环境
			来自:http://jinzhe.net/post/8.html 什么是Phonegap呢?Phonegap是一个利用HTML5去开发App的框架.可以为安卓.iOS.WP.黑莓.火狐等移动操作系统. ... 
- selenium通过autoit实现上传和下载
			autoit安装目录如下: AutoIt Windows Info 用于帮助我们识Windows控件信息. Compile Script to.exe 用于将AutoIt生成 exe 执行文件. ... 
- java规范与标准?
			所谓规范,即指由很多人同时遵守的行为或理论. java的规范并不是指其中一种,而是有很多种,比如java编码规范,java命名规范,java虚拟机规范等等,甚至于一个编码规范都有很多种,不同的公司.组 ... 
- python与shell通过微信企业号发送消息
			python与shell通过微信企业号发送信息,脚本来源于网络,做好搬运工,哈哈,相应的参考链接放在末位 shell版本: #!/bin/bash # CropID="xxxx" ... 
- apm - 查询高级电源管理(APM) BIOS
			总览 apm [ - vVmsS ] 描述 apm 读取 /proc/apm 并用人能看懂的格式输出.因为提供了首要的电池状态,这个命令在有兼容的 APM BIOS 的笔记本电脑上非常有用. apm ... 
