您好,登錄后才能下訂單哦!
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: OleVariant; var Cancel: WordBool); var urlStr: string; begin urlStr := string(URL); WebBrowser1.Navigate(urlStr ); Cancel := True; end;
取到全部連接 在USER 加入 MSHTML; 和 ActiveX; procedure TForm1.Button2Click(Sender: TObject); var doc:IHTMLDocument2; all:IHTMLElementCollection; len,i:integer; item:OleVariant; begin doc:=WebBrowser1 .Document as IHTMLDocument2; all:=doc.Get_links;//doc.Links len:=all.length; for i:=0 to len-1 do begin item:=all.item(i,varempty);//EmpryParam memo1.lines.add(item.href); end; end; ///////////////////////////////////////////////////////////////////////////////////////////////// 取得網頁的源代碼 Memo1.Text:=WebBrowser1.OleObject.document.documentelement.innerhtml; ////////////////////////////////////////////////////////////////////////////////////////////////// 禁止廣告彈出 procedure TForm1.WebBrowser1NewWindow2(Sender: TObject; var ppDisp: IDispatch; var Cancel: WordBool); begin cancel:=true end; ////////////////////////////////////////////////////////////////////////////////////////////// 不需要彈出窗口直接進去 procedure TForm1.WebBrowser1NewWindow2(Sender: TObject; var ppDisp: IDispatch; var Cancel: WordBool); var NewApp: TForm1; begin NewApp := TForm1.Create(Owner); NewApp.Visible := true; ppdisp := NewApp.webbrowser1.Application; end ///////////////////////////////////////////////////////////////////////////////////////////////// 只讀文字 procedure TForm1.Button1Click(Sender: TObject); var HTMLDocument: 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); begin WebBrowser1.ExecWB(OLECMDID_SELECTALL, OLECMDEXECOPT_PROMPTUSER, EmptyParam, EmptyParam); //選擇全部 WebBrowser1.ExecWB(OLECMDID_COPY, OLECMDEXECOPT_PROMPTUSER, EmptyParam, EmptyParam); //拷貝到剪貼板 end; 提交表單中的下拉框和單選 uses mshtml; var HtmlDoc:IHTMLDocument2; myitem:Olevariant; i:integer; begin myitem := WebBrowser1.Document; for i := 0 to myitem.all.length - 1 do begin if myitem.all.item(i).tagName = 'SELECT' then // 下拉框選擇 begin myitem.all.item(i).value:='2'; // '2'系value="里的內容 end; if myitem.all.item(i).tagName = 'INPUT' then begin if Uppercase(myitem.all.item(i).type)='RADIO' then begin if myitem.all.item(i).value='求' then myitem.all.item(i).checked:=true; end; end; end; end; var o : Olevariant; begin o := 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; 調用JAVASCRIPT函數 WebBrowser1.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)..document.all.item('Login',0); o.Click; //點擊操作,對其它對象也可同樣操作 } end; WebBrowser1.oleobject.Document.getElementById('button').Click; /////////////////////////////////////////////////////////////////////////////////////// 第1個item是女(0開始) WebBrowser1.OleObject.document.getElementsByTagName('input').item(1).click; 或者用name,但name要唯一 WebBrowser1.OleObject.document.all.item('Registered1').click
http://www.cnblogs.com/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"/> <label 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.OleObject.document.Frames.item(0).document.all.item('typeTab',2).checked then
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。