查找操作tagName为input的对象var i:Integer; myole:oleVariant;begin myole := wb1.Document; for i := 0 to myole.all.length - 1 do begin if myole.all.item(i).tagName = 'INPUT' then begin mmo1.Lines.Add(myole.all.item(i).name); mmo1.Lines.Add(myole.all.item(i).value); end; end;end;
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.Button1Click(Sender: TObject);beginWebBrowser1.OleObject.document.parentWindow.MB(); //HTML-Js//如需指定脚本语言, 需要:WebBrowser1.OleObject.document.parentWindow.execScript('MB()','JavaScript'); //HTML-Jsend;假如有这样的脚本:--------------------------------------------------------------------------------//判断网页及内部框架网页是否全部下载完毕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;--------------------------------------------------------------------------------//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;
单个frames的输入varo : Olevariant;begino := WebBrowser.OleObject.document.all.item('LoginUserID',0); //找到登录用户名的输入框o.value := 'TEST';o := WebBrowser.oleobject.document.all.item('LoginPassword',0); //找到登录密码的输入框o.value := 'TEST'WebBrowser.oleobject.document.Forms.Item(0, 0).submit; //第一个表单提交{o :=WebBrowser.oleobject.document.all.item('Login',0); //或者用指定表单名称提交o.Click; //点击操作,对其它对象也可同样操作}end;多个frames的输入,FrameIndex为Frame的序号varo : Olevariant;begin//找到登录用户名的输入框o := WebBrowser.oleobject.document.documentelement.document.frames.item(FrameIndex).document.all.item('LoginUserID',0);o.value := 'TEST';//找到登录密码的输入框o := WebBrowser.oleobject.document.documentelement.document.frames.item(FramIndex).document.all.item('LoginPassword',0);o.value := 'TEST'//第一个表单提交WebBrowser.oleobject.document.documentelement.document.frames.item(FramIndex).document.Forms.Item(0, 0).submit;{//或者用指定表单名称提交o :=WebBrowser.oleobject.document.documentelement.document.frames.item(FramIndex)..document.all.item('Login',0);o.Click; //点击操作,对其它对象也可同样操作}end;
----------------------------------------------------------------------------------------------------- document属性{ihtmldocument2 方法:}write //写入writeln //写入并换行open //打开一个流,以收集 document.write 或 document.writeln 的输出close //关闭并输出用 document.open 方法打开的流clear //清空文档中所有元素, 可能暂时不支持querycommandsupported //是否支持指定命令querycommandenabled //指定命令是否有效querycommandstate //是否设置了指定命令querycommandindeterm //指定命令是否处于不确定状态querycommandtext //命令querycommandvalue //命令值execcommand //执行命令execcommandshowhelp //命令帮助信息createelement //建立元素elementfrompoint //指定坐标下的元素createstylesheet //创建一个样式表{ihtmldocument2 属性:}all //所有 html 元素的集合images //所有 image 对象的集合applets //所有 applet 对象的集合links //所有 link 对象的集合forms //所有 form 对象的集合anchors //所有 anchor 对象的集合scripts //所有 script 对象的集合frames //所有 frame 对象的集合, 这应该和 window.frames 是一样的embeds //所有 embed 对象的集合plugins //所有 plugin 对象的集合stylesheets //样式表集合title //网页标题body //body 对象activeelement //当前具有输入焦点的元素designmode //设计模式, 可选值: inherit on offselection //当前选择readystate //页面读取状态: uninitialized、loading、loaded、interactive、completedlinkcolor //链接的颜色alinkcolor //活动链接的颜色vlinkcolor //已访问过的链接的颜色bgcolor //背景颜色fgcolor //文本颜色referrer //返回载入当前页面的页面的 urllocation //同 window.locationlastmodified //返回文档最后修改的日期和时间url //返回当前文档的 urldomain //返回域名cookie //返回文档相关的 cookieexpando //可设置与获取的布尔值, 是否允许扩展charset //获取文档的字符集名称defaultcharset //获取浏览器默认的字符集名称mimetype //文档类型filesize //文档大小, 单位字节, 用字符串表示filecreateddate //文档建立时间 ???filemodifieddate //文档修改时间 ???fileupdateddate //文档更新时间 ???security //文档安全protocol //传输协议nameprop //文件标题, 好像同 titleparentwindow //父窗口script //{ihtmldocument2 事件:}onhelp //用 f1 获取帮助时on*** //单击时ondbl*** //双击时on***down //鼠标点下时on***up //鼠标抬起时on***move //鼠标移动时on***over //鼠标进入时on***out //鼠标离开时onkeypress //按键时onkeyup //键按住时onkeydown //键抬起时onreadystatechange //状态改变时onrowexit //当前数据源的数据将要发生变化时onrowenter //当前数据源的数据发生变化并且有新的数据时ondragstart //开始拖动时onselectstart //开始选择时onbeforeupdate //更新前onafterupdate //更新后onerrorupdate //更新错误时{ihtmldocument3 方法:}recalc //重新获取文档中的全部动态属性releasecapture //释放文档中对象的鼠标捕捉{ihtmldocument3 属性:}createtextnode //建立文本attachevent //绑定事件detachevent //取消事件绑定createdocumentfragment//创建新文档getelementsbyname //返回带有指定 name 的对象集合getelementbyid //返回指定 id 的第一个对象的引用getelementsbytagname //返回指定标签的对象集合documentelement //获取文档根部节点, 也就是 html 节点uniqueid //获取对象的唯一标识符dir //parentdocument //enabledownloadbaseurl //基础地址