Webbrowser代码收集
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Webbrowser 代码收集
1、禁止Webbrowes新窗口打开页面,强制在当前页面打开
方法:放两个webbrowser控件,错码如下;
procedure TForm1.WebBrowser1NewWindow2(Sender: TObject; var PpDisp: IDispatch; var Cancel: WordBool);begin PpDisp := WebBrowser2.Application;end;procedure TForm1.WebBrowser2BeforeNavigate2(Sender: TObject; const PDisp: IDispatch; var URL, Flags, TargetFrameName, PostData, Headers: OleV ariant; var Cancel: WordBool);var urlStr: string;begin urlStr := string(URL); WebBrowser1.Navigate(urlStr ); Cancel := True;end; 取到全部连接在USER 加入MSHTML; 和ActiveX;procedure TForm1.Button2Click(Sender: TObject);vardoc:IHTMLDocument2;all:IHTMLElementCollection;len,i:integer;item:OleV ariant;b egindoc:=WebBrowser1 .Document as IHTMLDocument2;all:=doc.Get_links;//doc.Linkslen:=all.length;for i:=0 to len-1 do beginitem:=all.item(i,varempty);//EmpryParammemo1.lines.add(item.href);end;end;//////////////////// /////////////////////////////////////////////////////////////////////////////取得网页的源代码Memo1.Text:=WebBrowser1.OleObject.document.documentelement.innerhtml;/////////////////////////// ///////////////////////////////////////////////////////////////////////禁止广告弹出procedure TForm1.WebBrowser1NewWindow2(Sender: TObject;var ppDisp: IDispatch; var Cancel: WordBool);begincancel:=trueend;///////////////////////////////////////////////////////////////////////////////////////////// /不需要弹出窗口直接进去procedure TForm1.WebBrowser1NewWindow2(Sender: TObject;var ppDisp: IDispatch; var Cancel: WordBool);varNewApp: TForm1;beginNewApp := TForm1.Create(Owner);NewApp.Visible := true;ppdisp := NewApp.webbrowser1.Application;end//////////////////////////////////////////////////////////////////////////////////// /////////////只读文字procedure TForm1.Button1Click(Sender: TObject);varHTMLDocument: IHTMLDocument2;begin HTMLDocument := WebBrowser1.Document as IHTMLDocument2; Memo1.Text := HTMLDocument.body.innerText;end;/////////////////////////////////////////////////////////////////////////////////////// ////////////////复制uses Activex;下面这些加在哪里都可以。
initialization oleinitialize(nil); finalization oleuninitialize;//////////////////////////////////////////////////////////////////////////////////////////////////////选择全部和复制procedure TForm1.Button2Click(Sender: TObject);beginWebBrowser1.ExecWB(OLECMDID_SELECTALL,
OLECMDEXECOPT_PROMPTUSER, EmptyParam, EmptyParam); //选择全部WebBrowser1.ExecWB(OLECMDID_COPY, OLECMDEXECOPT_PROMPTUSER, EmptyParam, EmptyParam); //拷贝到剪贴板end;提交表单中的下拉框和单选uses mshtml;varHtmlDoc:IHTMLDocument2;myitem:Olevariant;i:integer;beginmyitem := WebBrowser1.Document;for i := 0 to myitem.all.length - 1 dobeginif myitem.all.item(i).tagName = …SELECT‟ then // 下拉框选择beginmyitem.all.item(i).value:=…2‟; // …2‟系value=“里的内容end;if myitem.all.item(i).tagName = …INPUT‟ thenbeginif Uppercase(myitem.all.ite m(i).type)=…RADIO‟ thenbeginif myitem.all.item(i).value=…求‟ then myitem.all.item(i).checked:=true;end;end;end;end; 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;调用JA V ASCRIPT函数WebBrows er1.OleObject.document.parentWindow.execScript(…GSLogin()‟,‟javascript‟);多个frames的输入,FrameIndex为Frame的序号var o : 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)..docu ment.all.item(…Login‟,0); o.Cl ick; //点击操作,对其它对象也可同样操作} end;WebBrowser1.oleobject.Document.getElementById(…button‟).Click;///////////////////////////////////// //////////////////////////////////////////////////第1个item是女(0开始)WebBrowser1.OleObject.document.getElementsByTagName(…input‟).it em(1).click;或者用name,但name要唯一WebBrowser1.OleObject.document.all.item(…Registered1‟).click/xe2011/ p/3144861.html(有关Twebbrowers操作)
判断Webbrowes里的Radio是否选中
网页源码:
<tr class=“t-head2”> <th id=“type-tab1 “ class=“align-l s-line tabitem h-cell clickable”> <input type=“radio” name=“typeTab” class=“radio” checked=“checked” val=“1” gmmbettypeid=“5300”/>
<label class=“clickable”>頭尾</label> </th> <th id=“type-tab2” class=“align-l s-line tabitem clickable”> <input type=“radio” name=“typeTab” class=“radio” val=“2” gmmbettypeid=“5100”/> <label class=“clickable”>前定一</label> </th> <th id=“type-tab3” class=“align-l s-line tabitem clickable”> <input type=“radio” name=“typeTab” class=“radio” val=“3” gmmbettypeid=“5200”/> <label class=“clickable”>前定二</label> </th> <th id=“type-tab4” class=“align-l tabitem clickable”> <input type=“radio” name=“typeTab” class=“radio” val=“4” gmmbettypeid=“5400”/> <la bel class=“clickable”>中肚</label> </th> <th id=“type-tab5” class=“align-l s-line tabitem clickable”> <input type=“radio” name=“typeTab” class=“radio” val=“5” gmmbettypeid=“5500”/>
<label class=“clickable”>後定一</label> </th> <th id=“type-tab6” class=“align-l tabitem clickable”> <input type=“radio” name=“typeTab” class=“radio” val=“6” gmmbettypeid=“5600”/> <label class=“clickable”>後定二</label> </th> </tr>if Web1.OleObjec t.document.Frames.item(0).document.all.item(…typeTab‟,2).checked then
有兴趣朋友可以了解更多java教程/java/video.shtml。