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,
html document是什么OLECMDEXECOPT_PROMPTUSER, EmptyParam, EmptyParam); //选择全部WebBrowser1.ExecW
B(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.Script(…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.ElementById(…button‟).Click;///////////////////////////////////// //////////////////////////////////////////////////第1个item是女(0开始)WebBrowser1.ElementsByTagName(…input‟).it em(1).click;或者用name,但name要唯一WebBrowser1.OleObject.document.all.item(…Registered1‟).clickwwwblogs/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.itcast/java/video.shtml

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。