1. 程式人生 > >Delphi 中WebBrowser控制元件詳解例項

Delphi 中WebBrowser控制元件詳解例項

uses mshtml,IdHTTP;

procedure TFrmmain.Act_BeginWrite;
var
myitem:Olevariant;
i:integer;
tmp:string;
TemName:String;
TemIniFile:TIniFile;
begin

Try
myitem := WebBrowser1.Document;

for i := 0 to myitem.all.length - 1 do
begin
if myitem.all.item(i).tagName = 'INPUT' then
begin
if Uppercase(myitem.all.item(i).type)='TEXT' then //文字框
begin

TemName:=Act_GetName+RANDOMStr(1);

if Uppercase(myitem.all.item(i).name)='USERNAME' then
begin
myitem.all.item(i).focus;
myitem.all.item(i).value:=TemName;
TemIniFile:=TIniFile.Create(ExtractFilePath(ParamStr(0))+'name.ini');
TemIniFile.WriteString(FormatDateTime('YYYY-MM-DD HH:mm:ss',now),'Name',TemName);
TemIniFile.Free;
end;
end;
end;
end;


keybd_event(VK_SPACE,MapVirtualKey(VK_SPACE,0),0,0);

keybd_event(VK_SPACE,MapVirtualKey(VK_SPACE,0),KEYEVENTF_KEYUP,0);

keybd_event(VK_TAB,MapVirtualKey(VK_TAB,0),0,0);

keybd_event(VK_TAB,MapVirtualKey(VK_TAB,0),KEYEVENTF_KEYUP,0);


for i := 0 to myitem.all.length - 1 do
begin
if myitem.all.item(i).tagName = 'INPUT' then
begin
IF Uppercase(myitem.all.item(i).type)='RADIO' then //選擇一個
begin
If Uppercase(myitem.all.item(i).name)='RADIOBUTTON' then
begin
myitem.all.item(i).checked :=true;

if FYX_GetRanDom(1)= 1 then
break;
end;
end;
end;
end;


for i := 0 to myitem.all.length - 1 do
begin
if myitem.all.item(i).tagName = 'SELECT' then
begin
if Uppercase(myitem.all.item(i).id)='DRPPID' then //文字框
begin
if Uppercase(myitem.all.item(i).name)='DRPPID' then
begin
if myitem.all.item(i).tagName = 'OPTION' then
myitem.all.item(i).selected:='SELECTED';
end;
end;
end;
end;

sleep(1000);

for i:= 0 to myitem.all.length - 1 do
begin
if myitem.all.item(i).tagName = 'INPUT' then
begin
if Uppercase(myitem.all.item(i).type)='TEXT' then //文字框
begin

If Uppercase(myitem.all.item(i).name)='USERNICK' then
begin

myitem.all.item(i).value:=Act_GetName;

end;
end;
end;
end;


for i:=0 to myitem.all.length - 1 do
begin
if myitem.all.item(i).tagName = 'INPUT' then
begin
if Uppercase(myitem.all.item(i).type)='TEXT' then //文字框
begin
If Uppercase(myitem.all.item(i).name)='TXTCHECKNUM' then
myitem.all.item(i).value:=FYX_GetCodeID;
end;
end;
end;

for i:=0 to myitem.all.length - 1 do
begin
if myitem.all.item(i).tagName = 'INPUT' then
begin
IF Uppercase(myitem.all.item(i).type)='PASSWORD' then //文字框
begin
If Uppercase(myitem.all.item(i).name)='PASSWORD1' then
myitem.all.item(i).value:=1234567;

end;
end;
end;


for i := 0 to myitem.all.length - 1 do
begin
if myitem.all.item(i).tagName = 'INPUT' then
begin
IF Uppercase(myitem.all.item(i).type)='PASSWORD' then //文字框
begin

If Uppercase(myitem.all.item(i).name)='PASSWORD_CNF' then
myitem.all.item(i).value:=1234567;
end;
end;
end;


((WebBrowser1.Document as IHTMLDocument2).all.item('selYear', 0) as
IHTMLSelectElement).selectedIndex := FYX_GetRanDomYear(35);

((WebBrowser1.Document as IHTMLDocument2).all.item('selMonth', 0) as
IHTMLSelectElement).selectedIndex := FYX_GetRanDom(13);

((WebBrowser1.Document as IHTMLDocument2).all.item('selDay', 0) as
IHTMLSelectElement).selectedIndex := FYX_GetRanDom(30);

((WebBrowser1.Document as IHTMLDocument2).all.item('drpPid', 0) as
IHTMLSelectElement).selectedIndex := FYX_GetRanDom(30);


tmp := 'GetCity(''drpPid'',''drpCity'')';
WebBrowser1.OleObject.Document.parentWindow.execScript(tmp,'JavaScript');

((WebBrowser1.Document as IHTMLDocument2).all.item('drpCity', 0) as
IHTMLSelectElement).selectedIndex := FYX_GetRanDom(5)-1;


for i := 0 to myitem.all.length - 1 do
begin
if myitem.all.item(i).tagName = 'INPUT' then
begin
if Uppercase(myitem.all.item(i).type)='CHECKBOX' then //Checkbox
begin
If Uppercase(myitem.all.item(i).name)='CHKAGREEMENT' then
myitem.all.item(i).checked :=true;
end;
end;
end;

//showmessage('OK');

for i := 0 to myitem.all.length - 1 do
begin
if myitem.all.item(i).tagName = 'INPUT' then
begin
if Uppercase(myitem.all.item(i).type)='SUBMIT' then //找按鈕點選
begin
myitem.all.item(i).click;
end;
end;
end; //Tagname = Input

Except
end;


TemNum:=TemNum-1;
EdNum.Text:=IntToStr(TemNum);

SumNum:=SumNum+1;



if TemNum <= 0 then
Close;

Timer4.Enabled:=True;
end;

相關推薦

Delphi WebBrowser控制元件例項

uses mshtml,IdHTTP;procedure TFrmmain.Act_BeginWrite;varmyitem:Olevariant;i:integer;tmp:string;TemName:String;TemIniFile:TIniFile;beginTrymyitem := WebBrow

ASP.Net MVC使用Chart 控制元件

在 .NET 3.5 的時候,微軟就提供了一個 Chart 控制元件,網路上有大量的關於在 VS2008 中使用這個控制元件的文章,在 VS2010 中,這個控制元件已經被整合到 ASP.NET 4.0 中,可以從工具箱中直接使用了。 這個控制元件在 ASP.NET 經典的頁面中很容易使用,但是在

SAP系統信用控制功能

1、引言 現金銷售和預收款銷售一般指發生在壟斷性行業,多數企業不得不面對產品賒銷的兩難選擇,賒銷是把雙刃劍,如果不賒銷,不能迅速擴大銷量,從而影響企業的成長速度;如果賒銷,則生意雖然做大,特別國內信用制度還未完善情況下,大筆壞帳也跑出來了,嚴重降低資金週轉率和

Android入門——基本控制元件

Android應用開發的一項重要內容就是介面開發。對於使用者來說,不管APP包含的邏輯多麼複雜,功能多麼強大,如果沒有提供友好的圖形互動介面,將很難吸引終端使用者。作為一個程式設計師如何才能開發出友好的圖形介面呢。實際上Android提供了非常豐富UI(User Interface)控制元

Delphi 的 XMLDocument 類(9) - 關於 HasChildNodes 與 IsTextElement

unit Unit1; interface uses   Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,   Dialogs, xmldom, XMLIntf, msxmldom, X

《Android群英傳》學習筆記之Android控制元件架構與自定義控制元件

一、Android控制元件架構: 控制元件大致分為兩類:ViewGroup控制元件與View控制元件。View是繪製在螢幕上的使用者能與之互動的一個物件。而ViewGroup則是一個用於存放其他Vi

Android SeekBar控制元件

SeekBar控制元件詳解 使用 SeekBar 實現圖片的虛幻 註解:圖片虛幻度最大值為255,為實體最小值為0,虛幻值越小,圖片越虛幻。 使用 SeekBar 實現圖

IOS-TextField控制元件

//初始化textfield並設定位置及大小   UITextField *text = [[UITextField alloc]initWithFrame:CGRectMake(20, 20, 130, 30)]; //設定邊框樣式,只有設定了才會顯示邊框樣式     text.borderSty

AndroidBroadcast Receiver元件

BroadcastReceiver(廣播接收器)是Android中的四大元件之一。 下面是Android Doc中關於BroadcastReceiver的概述:①廣播接收器是一個專注於接收廣播通知資訊,並做出對應處理的元件。很多廣播是源自於系統程式碼的──比如,通知時區改

Delphi TMsComm控制元件使用指南

 註冊TMsComm控制元件 1.將Mscomm.srg, Mscomm32.ocx,Mscomm32.dep三個檔案複製到系統資料夾中C:\winnt\system32\。 2.用Windows下的註冊工具regsvr32註冊該OCX控制元件,點選“開始”->

關於 WinFormwebbrowser控制元件的使用

 webbrowser是一個比較實用的工具,主要用於在winform窗體中嵌入瀏覽器,達到winform與webform互操作的目的。         private void Form1_Load(object sender, EventArgs e)       

關於WMobileWebBrowser控制元件存在的問題(C#)

我所做的工程需要用到WebBrowser這個控制元件,不過在使用的過程中發現了它有點問題,工程是這樣的:    按下Form1中的FrmWB1按鈕,開啟FrmWB1,其中FrmWB1中是有WebBrowser控制元件. 問題1:當我關閉了窗體FrmWB1時, 再按下Form

.NETWebBrowser控制元件內部頁面的JS程式碼與外部C#程式碼的相互呼叫

場景1:C#程式呼叫JS函式重新整理網頁,輸出再見兩字;測試目標:C#呼叫JS函式 場景2:C#程式呼叫JS函式重新整理網頁,輸出文字為使用者輸入的文字;測試目標:C#呼叫帶引數的JS函式 場景3:C#程式呼叫JS函式獲取今日的年月日資訊(yyyy-MM

vs2008MFCWebBrowser控制元件禁止新視窗彈出的解決辦法

但是IE可以有狀態列,WebBrowser中我找了一下,沒有發現能夠顯示狀態列的操作,在spy++中檢視,也不像IE那樣有狀態列的視窗。所以,我又仔細研究了一下WebBrowser關於狀態列的事件。後來發現StatusTextChange中其實就可以直接獲取到狀態列的文字

PyQt5基本控制元件之QPixmap(十九)

QPixmap 前言 QPixmap類用於繪圖裝置的影象顯示,它可以作為一個QPainterDevice物件,也可以載入到一個控制元件中,通常是標籤或者按鈕,用於在標籤或按鈕上顯示影象

DataGrid/DataList控制元件

5、Items俗話說,最後的都是最重要的,把Items作為最後一個屬性來介紹,正式基於這樣的理由。Items是DataGridItem的集合,可以遍歷當前DataGrid中顯示資料的DataGridItem。5.1、DataGridItem每一個DataGridItem就是DataGrid中顯示的一行,其中包

html拖動控制元件

HTML5提供專門的拖拽與拖放的API,以後實現這類效果就不必亂折騰了。但是,考慮到Opera瀏覽器似乎對此不感冒,在通用性上有待商榷,所以這裡也就簡單說一說。 二、相關重點 DataTransfer 物件:退拽物件用來傳遞的媒介,使用一般為Event.dataTran

.NetwebBrowser控制元件指定IE版本

今天採用.Net中的webBrowser控制元件時,發覺Angular控制元件無法正確執行。由於web程式是使用chrome瀏覽器進行開發,在測試過程中沒遇到任何問題。開啟IE進行測試,也是一切正常,經過檢查,webBrowser預設使用IE7相容模式來顯示網頁內容,導致j

WatchOS開發教程之三: 導航方式和控制元件

導航方式 Watch App中導航樣式分為兩種:分頁樣式(Page based) 和分層樣式(Hierarchical), 這兩種樣式是互斥的,所以不能混合使用只能選擇其一。Hierarchical方式可以通過pushController或者prese

delphiXLSReadWrite控制元件的使用(2)---delphi XE下安裝

一、下載 官方下載網址: 從這裡可以下載到從Delphi5到DelphiXE全部支援的版本。 二、軟體安裝 下載下來的檔案是exe格式,可以直接安裝,一路next即可。 按照預設安裝,會在: C:\Documents and Settings\All Use