WebBrowser判断页面是否下载结束

C# Webbrowser使用加载页面多少了内存泄露问题解决方法汇总 [C#]有关WebBrowser内存使用增加问题     在Windows程序开发中,使用了Webbrowser 控件,陆续发觉该控制存在着不少的问题,当中最严重的是他胃口太好太大,每load一个页面便会吃掉十来M的内存。 Webbrowser是非托管代码,而我开发时用了托管代码,一开始在这方面进行了优化,发现效果没什么改善。 后一查资料才发现病根 Microsoft的内存溢出b 阅读详情

方法1:procedure TForm1.WebBrowser1DocumentComplete(Sender: TObject;
   const pDisp: IDispatch; var URL: OleVariant);
begin    if WebBrowser1.Application = pDisp then showmessage('页面已全部下载完毕')end;    说明一下,每个iframe下载完毕都会触发DocumentComplete事件,所以一个页面在真正下载完毕前可能被触发多次

方法2:procedure TForm1.WebBrowser1DocumentComplete(Sender: TObject;
const pDisp: IDispatch; var URL: OleVariant);
var
CurWebrowser: IWebBrowser;
TopWebBrowser: IWebBrowser;
Document: OleVariant;
WindowName: string;
begin
CurWebrowser := pDisp as IWebBrowser;
TopWebBrowser := (Sender as TWebBrowser).DefaultInterface;
if CurWebrowser = TopWebBrowser then
ShowMessage('Complete document was loaded')
else
begin
Document := CurWebrowser.Document;
WindowName := Document.ParentWindow.Name;
ShowMessage(Format('Frame "%s" was loaded', [WindowName]));
end;
end;

方法3:

var isok::boolean

procedure TForm1.wbProgressChange(Sender: TObject; Progress,
  ProgressMax: Integer);
begin
  if progress=-1 then isok:=true;
end;

总结:三个方法都可能对,也都可能不对,特别是现在还有AJAX的存在,我的想法是把每一种方法都试一下,自己看一下变量变化,相应的调整方法,得到满意的结果,偶个人建议使用第三种,简单明了而且实用。针对AJAX可以通过获取的HTML来判断,因为它是不刷新页面的,所以不用担心取不到HTML,同时它虽然没刷新页面,但它肯定会刷新数据,如果新新数据出现了,那么页也就加载完成了,当然具体问题具体分析。

Delphi WebBrowser 基本操作与常见问题的解决方案 前言WebBrowser 作为Delphi 常见的网络浏览控件,我这里整理了一些它的基本操作,遇到了一些问题,我梳理了一下并给出解决方案。 阅读详情

相关推荐

基于WebBrowser控件获取JavaScript执行后页面源码的完整实现

为了应对复杂的加载模式,有必要构建一个灵活、可配置的等待系统,既能兼容简单页面,也能处理高度动态的应用。很多SPA(单页应用)会在初始化时将关键数据存入全局变量,如等。这些数据往往不会出现在HTML源码中,也无法通过DOM遍历获取,必须通过脚本访问。

weixin_42437253的博客 1229

如何判断webbrowser里的网页下载完成,正确的版本和方法

概要Internet Explorer WebBrowser 控件触发 DocumentComplete 事件则在完成后下载网页。 您可以在此事件的应用程序中创建事...Internet Explorer WebBrowser 控件触发 DocumentComplete 事件则在完成后下载网页。 您可以在此事件的应用程序中创建事件处理程序函数。 本文介绍确定是否需要执行步骤在

超级菜鸟 1600

c++使用webbrowser

这是一个c++内web实现模拟登陆,还有获取web事件,以及c++与js的交互。 http://blog.youkuaiyun.com/nanjun520/article/details/53024503

VB 判断 WebBrowser是否已经加载网页完毕

1、 Private Sub Form_Load() WebBrowser1.navigate "http://blog.youkuaiyun.com/lbuskeep" Do DoEvents If Not WebBrowser1.Busy And WebBrowser1.LocationURL http://blog.youkuaiyun.com/lbuskeep" Then MsgBox

lbuskeep的专栏 1万+

C#判断webbrowser页面最终加载完成

C#判断webbrowser页面最终加载完成

Eureka自我保护机制

Eureka自我保护机制 默认情况下,当eureka server在一定时间内没有收到实例的心跳,便会把该实例从注册表中删除(默认是90秒),但是,如果短时间内丢失大量的实例心跳,便会触发eureka server的自我保护机制,比如在开发测试时,需要频繁地重启微服务实例,但是我们很少会把eureka server一起重启(因为在开发过程中不会修改eureka注册中心),当一分钟内收到的心跳数大量减少时,会触发该保护机制。可以在eureka管理界面看到Renews threshold和Renews(last

Soul_Ming的博客 543

利用Python从web抓取信息

一、webbrowser模块:打开网页webbrowser.open(' URL') 启动一个新的浏览器,打开指定的URLsys模块中sys.argv变量保存了程序的文件名和命令行参数列表二、requests模块:从Web下载文件 检查Response对象的status_code属性,可以了解对这个网页的请求是否成功。若成功,则该值为requests.code.ok(HTTP协议中‘OK’状态码为...

mercy_ps的博客 547

【MFRC522】STM32与MFRC522的SPI通信优化及常见问题解析

本文深入解析了STM32与MFRC522进行SPI通信的优化方法与常见问题。从基础的硬件连接到SPI时序优化,再到关键的寄存器配置(如RFCfgReg设为0x4F以提升读卡稳定性),文章提供了详细的调试技巧和实战排坑指南,帮助开发者实现稳定高效的IC读卡应用。

yhn45678901的博客 841

Delphi中WebBrowser的使用技巧汇总

1>调用网页中已知对象 src := WebBrowser1.OleObject.document.getElementByIdx(’id1′).src 其实就是javascript中的 getElementByID 的函数 2>获得网页中的某个变量值 Html中的代码 : <script> var userID=123</...

iteye_1539的博客 513

ansys命令流力磁耦合仿真

文章目录前言一、力磁耦合仿真流程二、静力学仿真三、力磁耦合模型构建四、静磁学仿真总结 前言 一、力磁耦合仿真流程 力磁耦合有限元仿真流程中,首先进行静力学仿真,经过前处理模块、分析计算模块和后处理模块提取三维模型单元应力,然后根据力磁耦合方程中,通过matlab将单元应力导入到磁导率与应力的关系式中,得到单元的相对磁导率。最后采用载荷传递耦合方式,进行静磁学模拟仿真,分析计算得到该载荷下试件的磁场分布。,如下图所示为力磁耦合仿真流程图: 二、静力学仿真 下图为中心预制条形缺陷的Q235钢板试..

wsfwsf128的博客 2661

知识图谱设计简记

知识图谱是一种语义化的知识表示框架,通过实体-关系-属性三元组形式表达现实世界关联。其核心价值在于关联化整合数据、支持可解释性推理和赋能智能化应用。知识图谱可分为通用型和领域型两类,基本构成包括实体、关系、属性等基础元素,以及本体和实例等架构层元素。设计方法主要有自上而下、自下而上和混合式三种,需遵循业务导向、一致性等原则。在建模时需要明确属性与实体的判断标准,规范处理关系的方向性与对称性,并合理构建多重关系。主流技术框架如RDF和属性图体系均支持多重关系建模,选择需考虑业务需求。本体作为知识图谱的概念骨架

生活在别处 358

VBA下载文件 使用WebBrowser 及 DoFileDownload

一、启动WebBrowser 在Excel打开时启动:先激活WebBrowser所在的表,继而在表激活事件中激活WebBrowser,在WebBrowser定位到网页。 1:在workbook启动时激活该webbrowser所在的worksheet Private Sub Workbook_Open() ThisWorkbook.Worksheets("web").Activat...

方糖 1万+

PCL 点云按强度渲染颜色【2025最新版】

点云按反射强度渲染颜色,博客长期更新,本文最近更新时间为:2025年1月6日。

点云侠的博客 2万+

Delphi中WebBrowser判断页面及JS ajax是否加载完成-转

在一个程序中需要判断WebBrowser打开的页面是否加载完成,通常的做完是使用Busy属性,代码如下: while WebBrowser1.Busy do Application.ProcessMessages; 对于多框架: procedure TForm1.WebBrowser1NavigateComplete2(Sender: TObject; co...

漫漫程序人生路 1184

21、深入了解SELinux安全系统与/proc文件系统

本文深入探讨了SELinux安全系统与/proc文件系统的原理及实际应用。详细介绍了SELinux的安全上下文、域转换、运行模式、角色管理以及策略查看工具seinfo的使用;同时解析了/proc文件系统的结构与功能,涵盖进程信息查看、系统资源监控及性能优化方法。结合SELinux与/proc的协同应用,提供了系统问题排查流程与安全管理最佳实践,帮助用户提升Linux系统的安全性与稳定性。

ik678901234的博客 61

【RK3399 Ubuntu】基于rk3399的lxde的lubuntu桌面移植适配记录之第二步:最基本Ubuntu根文件系统的相关常用工具完善

文章目录1.使能系统网络管理服务1.1 安装驱动modules管理工具1.2 使能网络服务2.终端自动补全命令功能3.安装ssh服务4.安装系统信息查看工具5.安装resize工具6.安装lrzsz工具7.使能rc.local服务7.1 修改服务Install块7.2 使能rc.local.service服务7.3 添加执行脚本且赋予执行权限 续接上文,本文主要完善前面已经制作好的rootfs 1.使能系统网络管理服务 1.1 安装驱动modules管理工具 apt-get install kmod 1.

wang 恒 的博客 1385

Delphi中判断WebBrowser的页面是否加载完成

procedure TForm2.FormCreate(Sender: TObject); var url:String; begin WebBrowser1.silent:=true; //屏蔽脚本错误 url:='http://zhanhua.binzhou.gov.cn/zwgk/news/detail?tcode=N5a8a781acfdeaa227ae234f6b75e22b7&code=10000000233500'; url:='http://www.cbrhq.gov...

wjw806[旺旺]的专栏 852

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

WebBrowser控件使用详解

方法 说明  GoBack 相当于IE的“后退”按钮,使你在当前历史列表中后退一项  GoForward 相当于IE的“前进”按钮,使你在当前历史列表中前进一项  GoHome 相当于IE的“主页”按钮,连接用户默认的主页  GoSearch 相当于IE的“搜索”按钮,连接用户默认的搜索页面  Navigate 连接到指定的URL  Refresh 刷新当前页面  Refresh2 ...

rockfall的专栏 5103

廖雪峰Python教程[完整版]

廖雪峰的python教程整理的,已经排好版了,而且还是完整的,适合小白

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

关于WebBrowser的一些用法

1.获得网页中变量值 htm中<script> var currID=123</script> 程序中可以这么调用 id := Form1.WebBrowser1.OleObject.Document.script.currID 值得说明的是,变量可以是javascript定义的,也可以是vbscript定义的,如果Webbrowse...

weixin_30814319的博客 261

怀旧版电脑GBC模拟器

再现原版GBC掌机的界面,电脑运行连游戏界面都一样大小,很怀旧,很真实,(英文版)强烈推荐,很小的文件,很难才找到的。

Webbrowser控件判断网页加载完毕的简单方法

原文:http://blog.youkuaiyun.com/CometNet/article/details/5261192 一般情况下,当ReadyState属性变成READYSTATE_COMPLETE时,Webbrowser控件会通过触发DocumentCompleted事件来指示网页加载完毕。但当加载的网页包含frame时,可能会多次触发该事件,所以不能简单地通过它来判断网页

eldn__的专栏 5026

Webbrowser的点击事件重复发生与点击链接下载

 给Webbrowser的图片添加点击事件,在使用webBrowser1_DocumentCompleted时,出现多次事件的处理方法: 1.方法一判断WebBrowserReadyState的状态是否是Complete if (webBrowser1.ReadyState != WebBrowserReadyState.Complete) {

Edward_S 1397
上一篇: 直接向WebBrowser写入html代码
下一篇: Webbrowser新开窗口事件
星梦枫
博客等级 码龄16年 2粉丝 18原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值