分享web开发知识

注册/登录|最近发布|今日推荐

主页 IT知识网页技术软件开发前端开发代码编程运营维护技术分享教程案例
当前位置:首页 > 软件开发

Webbrowser 在web项目中的使用

发布时间:2023-09-06 01:44责任编辑:赖小花关键词:Web
 1 ??2 ????????string htmlstr = string.Empty; 3 [STAThread] 4 ????????public string GetHtmlByWeb(string url) 5 ????????{ 6 ????????????try 7 ????????????{ 8 ?9 ????????????????RunWithSingleThread(url);10 ????????????????DateTime dtime = DateTime.Now;11 ????????????????double timespan = 0;12 //等待 页面加载完毕 并获取到参数13 ????????????????while (string.IsNullOrWhiteSpace(htmlstr) && timespan < 10)14 ????????????????{15 ????????????????????DateTime time2 = DateTime.Now;16 ????????????????????timespan = (time2 - dtime).TotalSeconds;17 ????????????????}18 ????????????????// double lo = DateTime.Now.Subtract(dtime).TotalSeconds;19 ????????????}20 ????????????catch (Exception)21 ????????????{22 ??????????????23 ????????????}24 ????????????finally25 ????????????{26 ????????????????if (t != null && t.ThreadState == ThreadState.Running)27 ????????????????{28 ????????????????????t.Abort();29 ????????????????}30 ????????????}31 ???????????32 ????????????return htmlstr;33 ????????}34 35 36 //线程37 ?private Thread t;38 //异步执行WebBrowser39 ????????public void RunWithSingleThread(object url)40 ????????{41 ????????????ParameterizedThreadStart ps = new ParameterizedThreadStart(GetHtmlWithBrowser);42 ????????????t = new Thread(ps);43 ????????????t.IsBackground = true;44 ????????????t.ApartmentState = ApartmentState.STA;45 ????????????t.Start(url);46 ????????} ?47 48 private WebBrowser wb;49 ????????private void GetHtmlWithBrowser(object url)50 ????????{51 ????????????htmlstr = string.Empty;52 53 ????????????wb = new WebBrowser();54 ????????????wb.ScriptErrorsSuppressed = true; ?//防止脚本异常跳出弹窗55 ????????????wb.ScrollBarsEnabled = true;56 ????????????wb.Navigate(url.ToString());57 ????????????58 ????????????wb.DocumentCompleted += new WebBrowserDocumentCompletedEventHandler(DocumentCompleted);59 ????????????while (wb.ReadyState != System.Windows.Forms.WebBrowserReadyState.Complete)60 ????????????{61 ????????????????System.Windows.Forms.Application.DoEvents(); //避免假死,若去掉则可能无法触发 DocumentCompleted 事件。62 ????????????}63 64 ????????}65 //获取内容66 ?public void DocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e)67 ????????{68 ????????????htmlstr = wb.Document.Body.InnerHtml;69 70 ????????}

Webbrowser 在web项目中的使用

原文地址:https://www.cnblogs.com/dxqNet/p/8514520.html

知识推荐

我的编程学习网——分享web前端后端开发技术知识。 垃圾信息处理邮箱 tousu563@163.com 网站地图
icp备案号 闽ICP备2023006418号-8 不良信息举报平台 互联网安全管理备案 Copyright 2023 www.wodecom.cn All Rights Reserved