Delphi TWebBrowser[1]介绍
Delphi TWebBrowser[1]介绍
1、简介
TWebBrowser组件是一个浏览器组件(基于IE内核),可以显示一个指定地址的网页、设置网页打开时的主页以及对网页进行相关的操作,同时也可以对HTML文件进行剪切、复制、粘贴、删除等操作。该 组件在Internet组件页中,属于TWebbrowser类。 它放在程序当中,可以像操作网页一样操作webbrowser控件。
2、应用(完成自动提交或定时处理某种操作)
- 网页数据采集 ,从别人的论坛里面把帖子采集出来,放到我们的论坛里面,例如火车头采集器;
- 发帖,不断的到百度贴吧或者其他论坛去发帖也称灌水;
- 网购,例如淘宝上限时秒抢之类的;
- 投票,不断的变换IP去投票;
- 抢火车票,不断的刷新火车票,一有票就提示抢购;
- 开发浏览器,像原来的的360,腾讯,搜狗浏览器都是基于IE内核开发出来的;
3、同类控件
- Indy中的idhttp 特点:不可见,阻塞方式,效率高;
- ICS跟idhttp差不多
- TEmbeddedwb第三方控件,跟webbrowser差不多,功能更强大,缺点是没有相关使用说明或资料;
4、控件主要属性:
- Application //如果该对象有效,则返回掌管WebBrowser控件的应用程序实现的自动化对象(IDispatch)。如果在宿主对象中自动化对象无效,程序将返回WebBrowser控件的自动化对象
- Parent //返回WebBrowser控件的父自动化对象,通常是一个容器,例如是宿主或IE窗口
- Containe //返回WebBrowser控件容器的自动化对象。通常该值与Parent属性返回的值相同
- Document //为活动的文档返回自动化对象。如果HTML当前正被显示在WebBrowser中,则Document属性提供对DHTML Object Model的访问途径
- TopLevelContainer //返回一个Boolean值,表明IE是否是WebBrowser控件顶层容器,是就返回true
- Type //返回已被WebBrowser控件加载的对象的类型。例如:如果加载.doc文件,就会返回Microsoft Word Document
- Left //返回或设置WebBrowser控件窗口的内部左边与容器窗口左边的距离
- Top //返回或设置WebBrowser控件窗口的内部左边与容器窗口顶边的距离
- Width //返回或设置WebBrowser窗口的宽度,以像素为单位
- Height //返回或设置WebBrowser窗口的高度,以像素为单位
- LocationName //返回一个字符串,该字符串包含着WebBrowser当前显示的资源的名称,如果资源是网页就是网页的标题;如果是文件或文件夹 ,就是文件或文件夹的名称
- LocationURL //返回WebBrowser当前正在显示的资源的URL
- Busy //返回一个Boolean值,说明WebBrowser当前是否正在加载URL,如果返回true就可以使用stop方法来撤销正在执行的访问操作
5、事件:
- BeforeNavigate2 //导航发生前激发,刷新时不激发
- CommandStateChange //当命令的激活状态改变时激发。它表明何时激活或关闭Back和Forward菜单项或按钮
- DocumentComplete //当整个文档完成是激发,刷新页面不激发
- DownloadBegin //当某项下载操作已经开始后激发,刷新也可激发此事件
- DownloadComplete //当某项下载操作已经完成后激发,刷新也可激发此事件
- NavigateComplete2 //导航完成后激发,刷新时不激发 NewWindow2 在创建新窗口以前激发
- OnFullScreen //当FullScreen属性改变时激发。该事件采用VARIENT_BOOL的一个输入参数来指示IE是全屏显示方式(VARIENT_TRUE)还是普通显 示方式(VARIENT_FALSE)
- OnMenuBar //改变MenuBar的属性时激发,标示参数是VARIENT_BOOL类型的。VARIANT_TRUE是可见,VARIANT_ FALSE是隐藏
- OnQuit //无论是用户关闭浏览器还是开发者调用Quit方法,当IE退出时就会激发
- OnStatusBar //与OnMenuBar调用方法相同,标示状态栏是否可见。
- OnToolBar //调用方法同上,标示工具栏是否可见。
- OnVisible //控制窗口的可见或隐藏,也使用一个VARIENT_BOOL类型的参数
- StatusTextChange //如果要改变状态栏中的文字,这个事件就会被激发,但它并不理会程序是否有状态栏
- TitleChange //网页标题有效或改变时激发
6、常用函数:
- GoBack //相当于IE的”后退”按钮,使你在当前历史列表中后退一项
- GoForward //相当于IE的”前进”按钮,使你在当前历史列表中前进一项
- GoHome //相当于IE的”主页”按钮,连接用户默认的主页
- GoSearch //相当于IE的”搜索”按钮,连接用户默认的搜索页面
- Navigate //连接到指定的URL
- Refresh //刷新当前页面
- Refresh2 同上,只是可以指定刷新级别,所指定的刷新级别的值来自RefreshConstants枚举表,该表定义在ExDisp.h中,可以指定的不同值 如下: REFRESH_NORMAL 执行简单的刷新,不将HTTP pragma: no-cache头发送给服务器 REFRESH_IFEXPIRED 只有在网页过期后才进行简单的刷新 REFRESH_CONTINUE 仅作内部使用 REFRESH_COMPLETELY 将包含pragma: no-cache头的请求发送到服务器 <br><br/>
7、简单示例:
1 2 3 4 5 | WebBrowser1 . OleObject . document . all . item( 'btnName' ).click; //根据页面中按钮的名称执行其点击事件 WebBrowser1 . OleObject . document . getElementByID( 'btnID' ).click; //根据按钮ID点击 WebBrowser1 . OleObject . document . getElementsByTagName( 'input' ).item( 0 ).click; //根据按钮索引点击 WebBrowser1 . OleObject . document . all . item( 'userName' ).value:=userName; //修改文本框信息,也可用ID,同上 ShellExecute( 0 , 'open' , 'www.baidu.com' , nil , nil ,SW_SHOW); //为浏览器打开一个网页 |
创建时间:2020.11.17 更新时间:2020.11.18-19
博客园 滔Roy https://www.cnblogs.com/guorongtao 希望内容对你有所帮助,谢谢!
分类:
Delphi Web
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报