1. 程式人生 > 實用技巧 >Delphi TWebBrowser[1]介紹

Delphi TWebBrowser[1]介紹

Delphi TWebBrowser[1]介紹

1、簡介

TWebBrowser元件是一個瀏覽器元件,可以顯示一個指定地址的網頁、設定網頁開啟時的主頁以及對網頁進行相關的操作,同時也可以對HTML檔案進行剪下、複製、貼上、刪除等操作。該元件在Internet元件頁中,屬於TWebbrowser類。它放在程式當中,可以像操作網頁一樣操作webbrowser控制元件。

2、應用(完成自動提交或定時處理某種操作)

  • 網頁資料採集,從別人的論壇裡面把帖子採集出來,放到我們的論壇裡面,例如火車頭採集器;
  • 發帖,不斷的到百度貼吧或者其他論壇去發帖也稱灌水;
  • 網購,例如淘寶上限時秒搶之類的;
  • 投票,不斷的變換IP去投票;
  • 搶火車票,不斷的重新整理火車票,一有票就提示搶購;
  • 開發瀏覽器,像原來的的360,騰訊,搜狗瀏覽器都是基於IE核心開發出來的;

3、同類控制元件

  • Indy中的idhttp 特點:不可見,阻塞方式,效率高;
  • ICS跟idhttp差不多
  • TEmbeddedwb第三方控制元件,跟webbrowser差不多,功能更強大,缺點是沒有相關使用說明或資料;

4、控制元件主要屬性:

  • Application //如果該物件有效,則返回掌管WebBrowser控制元件的應用程式實現的自動化物件(IDispatch)。如果在宿主物件中自動化物件無效,程式將返回WebBrowser控制元件的自動化物件
  • Parent //返回WebBrowser控制元件的父自動化物件,通常是一個容器,例如是宿主或IE視窗
  • Containe //返回WebBrowser控制元件容器的自動化物件。通常該值與Parent屬性返回的值相同
  • Document //為活動的文件返回自動化物件。如果HTML當前正被顯示在WebBrowser中,則Document屬性提供對DHTML Object Model的訪問途徑
  • TopLevelContainer //返回一個Boolean值,表明IE是否是WebBrowser控制元件頂層容器,是就返回true
  • Type //返回已被WebBrowser控制元件載入的物件的型別。例如:如果載入.doc檔案,就會返回Microsoft Word Document
  • Left //返回或設定WebBrowser控制元件視窗的內部左邊與容器視窗左邊的距離
  • Top //返回或設定WebBrowser控制元件視窗的內部左邊與容器視窗頂邊的距離
  • Width //返回或設定WebBrowser視窗的寬度,以畫素為單位
  • Height //返回或設定WebBrowser視窗的高度,以畫素為單位
  • LocationName //返回一個字串,該字串包含著WebBrowser當前顯示的資源的名稱,如果資源是網頁就是網頁的標題;如果是檔案或資料夾 ,就是檔案或資料夾的名稱
  • LocationURL //返回WebBrowser當前正在顯示的資源的URL
  • Busy //返回一個Boolean值,說明WebBrowser當前是否正在載入URL,如果返回true就可以使用stop方法來撤銷正在執行的訪問操作

5、事件:

  • BeforeNavigate2 //導航發生前激發,重新整理時不激發
  • CommandStateChange //當命令的啟用狀態改變時激發。它表明何時啟用或關閉Back和Forward選單項或按鈕
  • DocumentComplete //當整個文件完成是激發,重新整理頁面不激發
  • DownloadBegin //當某項下載操作已經開始後激發,重新整理也可激發此事件
  • DownloadComplete //當某項下載操作已經完成後激發,重新整理也可激發此事件
  • NavigateComplete2 //導航完成後激發,重新整理時不激發 NewWindow2 在建立新視窗以前激發
  • OnFullScreen //當FullScreen屬性改變時激發。該事件採用VARIENT_BOOL的一個輸入引數來指示IE是全屏顯示方式(VARIENT_TRUE)還是普通顯 示方式(VARIENT_FALSE)
  • OnMenuBar //改變MenuBar的屬性時激發,標示引數是VARIENT_BOOL型別的。VARIANT_TRUE是可見,VARIANT_ FALSE是隱藏
  • OnQuit //無論是使用者關閉瀏覽器還是開發者呼叫Quit方法,當IE退出時就會激發
  • OnStatusBar //與OnMenuBar呼叫方法相同,標示狀態列是否可見。
  • OnToolBar //呼叫方法同上,標示工具欄是否可見。
  • OnVisible //控制視窗的可見或隱藏,也使用一個VARIENT_BOOL型別的引數
  • StatusTextChange //如果要改變狀態列中的文字,這個事件就會被激發,但它並不理會程式是否有狀態列
  • TitleChange //網頁標題有效或改變時激發

6、常用函式:

  • GoBack //相當於IE的”後退”按鈕,使你在當前歷史列表中後退一項
  • GoForward //相當於IE的”前進”按鈕,使你在當前歷史列表中前進一項
  • 3GoHome //相當於IE的”主頁”按鈕,連線使用者預設的主頁
  • GoSearch //相當於IE的”搜尋”按鈕,連線使用者預設的搜尋頁面
  • Navigate //連線到指定的URL
  • Refresh //重新整理當前頁面
  • Refresh2 同上,只是可以指定重新整理級別,所指定的重新整理級別的值來自RefreshConstants列舉表,該表定義在ExDisp.h中,可以指定的不同值 如下: REFRESH_NORMAL 執行簡單的重新整理,不將HTTP pragma: no-cache頭髮送給伺服器 REFRESH_IFEXPIRED 只有在網頁過期後才進行簡單的重新整理 REFRESH_CONTINUE 僅作內部使用 REFRESH_COMPLETELY 將包含pragma: no-cache頭的請求傳送到伺服器 <br><br/>

7、簡單示例:

WebBrowser1.OleObject.document.all.item('btnName').click;//根據頁面中按鈕的名稱執行其點選事件
WebBrowser1.OleObject.document.getElementByID('btnID').click;//根據按鈕ID點選
WebBrowser1.OleObject.document.getElementsByTagName('input').item(0).click;//根據按鈕索引點選
WebBrowser1.OleObject.document.all.item('userName').value:=userName;//修改文字框資訊,也可用ID,同上
ShellExecute(0,'open','www.baidu.com',nil,nil,SW_SHOW);//為瀏覽器開啟一個網頁

  

建立時間:2020.11.17  更新時間: