本站首页    管理页面    写新日志    退出


«October 2025»
1234
567891011
12131415161718
19202122232425
262728293031


公告
================

注会练习软件
http://www.cpasoft.com.cn
我的注会软件官网

http://blog.163.com/abc7105@126/

 

 


哈哈,热爱快“过气”的DELPHI


我的分类(专题)

日志更新

最新评论

留言板

链接

Blog信息
blog名称:注册会计师(注会)练习软件
日志总数:398
评论数量:116
留言数量:27
访问次数:3274160
建立时间:2005年6月6日




[delpih编程]WebBrowser 操作记要 (转贴)
软件技术

吕向阳 发表于 2009/3/12 11:44:29

WebBrowser1.GoHome; //到浏览器默认主页WebBrowser1.Refresh; //刷新WebBrowser1.GoBack; //后退WebBrowser1.GoForward; //前进WebBrowser1.Navigate('...'); //打开指定页面WebBrowser1.Navigate('about:blank'); //打开空页面--------------------------------------------------------------------------------//打开空页面, 并写入...WebBrowser1.Navigate('about:页面内容');--------------------------------------------------------------------------------//读取网页脚本中的变量:procedure TForm1.Button1Click(Sender: TObject);vars: string;i: Integer;begins := WebBrowser1.OleObject.document.Script.str;i := WebBrowser1.OleObject.document.Script.num;ShowMessage(s); //HelloShowMessage(IntToStr(i)); //99//也可以这样读:s := WebBrowser1.OleObject.document.parentWindow.str;i := WebBrowser1.OleObject.document.parentWindow.num;ShowMessage(s); //HelloShowMessage(IntToStr(i)); //99end;假如网页中有这样的语句: --------------------------------------------------------------------------------//判断网页及内部框架网页是否全部下载完毕procedure TForm1.WebBrowser1DocumentComplete(ASender: TObject;const pDisp: IDispatch; var URL: OleVariant);beginif WebBrowser1.Application = pDisp thenbeginText := '网页下载完毕!';end;end;--------------------------------------------------------------------------------//改变背景色或背景图片:WebBrowser1.OleObject.document.body.bgcolor := '#FF0000';WebBrowser1.OleObject.document.body.background := '...图片地址';--------------------------------------------------------------------------------//操作有 ID 标签的对象:vars: string;begins := WebBrowser1.OleObject.document.getElementByID('span1').innerText;ShowMessage(s); //这是 span1 标签中的内容//或者:s := WebBrowser1.OleObject.document.parentWindow.span1.innerText;ShowMessage(s); //这是 span1 标签中的内容//隐藏它:WebBrowser1.OleObject.document.parentWindow.span1.style.display := 'none';end;假如网页中有这样的内容:这是 span1 标签中的内容--------------------------------------------------------------------------------//获取网页源代码vars: string;begins := WebBrowser1.OleObject.document.body.innerHTML; //body内的所有代码s := WebBrowser1.OleObject.document.body.outerHTML; //body内的所有代码, 包含body标签s := WebBrowser1.OleObject.document.documentElement.innerHTML; //html内的所有代码end;//获取网页全部源代码uses ActiveX;varms: TMemoryStream;beginif not Assigned(WebBrowser1.Document) then Exit;ms := TMemoryStream.Create;(WebBrowser1.Document as IPersistStreamInit).Save(TStreamAdapter.Create(ms), True);ms.Position := 0;Memo1.Lines.LoadFromStream(ms, TEncoding.UTF8);// Memo1.Lines.LoadFromStream(ms, TEncoding.Default); {GB2312 等双字节}ms.Free;end;--------------------------------------------------------------------------------//WebBrowser 中的右键菜单//先要添加ApplicationEvents1,指定其Message事件//屏蔽右键菜单procedure TForm1.ApplicationEvents1Message(var Msg: tagMSG; var Handled: Boolean);beginwith Msg dobeginif not IsChild(WebBrowser1.Handle, hWnd) then Exit;Handled := (message = WM_RBUTTONDOWN) or (message = WM_RBUTTONUP) or (message = WM_CONTEXTMENU);end;end;//替换右键菜单procedure TForm1.ApplicationEvents1Message(var Msg: tagMSG; var Handled: Boolean);var mPoint: TPoint;beginif IsChild(WebBrowser1.Handle, Msg.Hwnd) and((Msg.Message = WM_RBUTTONDOWN) or (Msg.Message = WM_RBUTTONUP)) thenbeginGetCursorPos(mPoint); //得到光标位置PopupMenu1.Popup(mPoint.X, mPoint.Y); //弹出popupmenu1的菜单Handled:=True;end;end;--------------------------------------------------------------------------------//新页面写入beginWebBrowser1.Navigate('about:blank');WebBrowser1.OleObject.Document.Writeln('ok');end;//从流中写入:varms: TMemoryStream;beginms := TMemoryStream.Create;Memo1.Lines.SaveToStream(ms);ms.Position := 0;(WebBrowser1.Document as IPersistStreamInit).Load(TStreamAdapter.Create(ms));ms.Free;end;//禁止提示脚步错误procedure TForm1.WebBrowser1NavigateComplete2(ASender: TObject;const pDisp: IDispatch; var URL: OleVariant);beginWebBrowser1.Silent := True;end;//禁止弹出窗口procedure TForm1.WebBrowser1NewWindow2(ASender: TObject; var ppDisp: IDispatch;var Cancel: WordBool);beginCancel := True;end;


阅读全文(1016) | 回复(0) | 编辑 | 精华
 



发表评论:
昵称:
密码:
主页:
标题:
验证码:  (不区分大小写,请仔细填写,输错需重写评论内容!)



站点首页 | 联系我们 | 博客注册 | 博客登陆

Sponsored By W3CHINA
W3CHINA Blog 0.8 Processed in 0.031 second(s), page refreshed 144804309 times.
《全国人大常委会关于维护互联网安全的决定》  《计算机信息网络国际联网安全保护管理办法》
苏ICP备05006046号