1. 程式人生 > >Delphi自動填寫IE輸入框

Delphi自動填寫IE輸入框

//自動填寫主要過程;
procedure TForm1.FillIEForm(aValidatecode: String; bPost: boolean);
procedure DoWithHtmlElement(aElementCollection:IHTMLElementCollection);
var
k:integer;
vk:oleVariant;
Dispatch: IDispatch;
//宣告介面;
HTMLInputElement:IHTMLInputElement;
HTMLSelectElement:IHTMLSelectElement;
HTMLOptionElement: IHTMLOptionElement;
HTMLTextAreaElement: IHTMLTextAreaElement;
HTMLFormElement:IHTMLFormElement;
HTMLOptionButtonElement:IHTMLOptionButtonElement;
begin
for k:=0 to aElementCollection.length -1 do//對當前頁的所有物件進行迴圈斷定;
begin
Vk:=k;
Application.ProcessMessages;
Dispatch:=aElementCollection.item(Vk,0);
//如果是頁面;
if SUCCEEDED(Dispatch.QueryInterface(IHTMLFormElement,HTMLFormElement))then
begin
with HTMLFormElement do//表單
begin
//處理
if bPost then
begin
HTMLFormElement.submit ;//提交所填寫的窗體;
exit;
end;
end;
end
//如果是輸入框;
else if Succeeded(Dispatch.QueryInterface(IHTMLInputElement,HTMLInputElement)) then
begin
With HTMLInputElement do//單行文字
begin
if (UpperCase(Type_)=''TEXT'') or (UpperCase(Type_)=''PASSWORD'') then//判斷輸入框型別;
begin
value:=''luowenfu''; //輸入名字;
if Name=''Validatecode'' then Value:=aValidatecode;
if Name=''Passwd'' then Value:=''19820128''; //輸入密碼;
if Name=''Passwd1'' then Value:=''19820128'';
if Name=''e_mail'' then value:=''
[email protected]
'';
if Name=''OICQ'' then Value:=''282839896'';
if Name=''width'' then Value:=''40'';
if Name=''height'' then Value:=''40'';
if Name=''myface'' then Value:='''';
end
else if (UpperCase(Type_)=''CHECKBOX'') then//複選框
begin
checked:=true;
end
else if (UpperCase(Type_)=''RADIO'') then//單選框
begin
checked :=true;
end
else if (UpperCase(Type_)=''FILE'') then//選擇路徑;
begin
HTMLInputElement.defaultValue:=''E:\LWen\Lwen作品\卡片\ExeFile\pic\cat1\3.bmp'';
end;


end;
end
else if Succeeded(Dispatch.QueryInterface(IHTMLSelectElement,HTMLSelectElement)) then
begin
With HTMLSelectElement do//下拉框
begin
selectedIndex :=1;//預設選擇第二個;
end;
end
else if Succeeded(Dispatch.QueryInterface(IHTMLTEXTAreaElement,HTMLTextAreaElement)) then
begin
with HTMLTextAreaElement do//多行文字
begin
value :=''向別人學習!再教別人學習!!'';
end;
end
else if Succeeded(Dispatch.QueryInterface(IHTMLOptionElement,HTMLOptionElement)) then
begin
with HTMLOptionElement do//下拉選項
begin
//處理
end;
end
else if SUCCEEDED(Dispatch.QueryInterface(IHTMLOptionButtonElement,HTMLOptionButtonElement))then
begin
//不明
//處理
end
else
//showmessage(''other'');
;
end;
end;
var
HTMLDocument:IHTMLDocument2;//可修改文件;
ElementCollection:IHTMLElementCollection;
Dispatch: IDispatch;
i,j:integer;
FrameWindow:IHTMLWindow2;//框架視窗;
Vi,Vj:OLEVariant;
HTMLFrameBase :IHTMLFrameBase ;
HTMLFrameElement:IHTMLFrameElement ;
HTMLIFrameElement:IHTMLIFrameElement;
begin
HTMLDocument:=IHTMLDocument2(WebBro1.Document);//指定要修改的文件;
if HTMLDocument<>nil then
begin
begin
if HTMLDocument.frames.length =0 then//如果是無框架
begin
ElementCollection:=HTMLDocument.Get_All;
DoWithHtmlElement(ElementCollection);//呼叫填寫過程;
end
else//有框架
begin
//先填寫當前頁;

ElementCollection:=HTMLDocument.Get_All 

DoWithHtmlElement(ElementCollection);
//再填寫框架頁;
for j:=0 to HTMLDocument.frames.length -1 do
begin
Vj:=j;
Dispatch:=HTMLDocument.frames.item(Vj);
if Succeeded(Dispatch.QueryInterface(IHTMLWindow2,FrameWindow)) then
begin
DoWithHtmlElement(FrameWindow.document.all);//呼叫自動填寫過程;
end;
End;
end;
end;
end;
end;

相關推薦

Delphi自動填寫IE輸入

//自動填寫主要過程; procedure TForm1.FillIEForm(aValidatecode: String; bPost: boolean); procedure DoWithHtmlElement(aElementCollection:IHTMLEleme

Framework7新版學習筆記之 自動補全輸入(AutoComplete)

學習筆記 function i++ 效果 可選值 type ray text work 一:自動補全輸入框 我們可以定義一種具有自動補全功能的輸入框,預先設定一些可選值作為自動補全內容。當用戶輸入可選值的部分內容時,就會在下面自動列出匹配的選項,點擊即可自動填充

樹形ztree 與angularjs結合,實現下級數據異步加載,點擊復選 填寫輸入

沒有 hide deb out IV UNC -s parent default html:<input value="" type="text" id="river_cut" onclick="

(簡)樹形ztree 與angularjs結合,實現下級數據,點擊復選 填寫輸入

url let 輸入 樹形 fadeout ros mar 分隔符 3.4 html:<link href="vendors/zTreeStyle/zTreeStyle.css" rel="stylesheet" />生態

顯示輸入時游標自動定位到輸入內容的最後

思路就是利用input元素中的setSelectionRange方法 setSelectionRange(posstart,posend)用來選中被focus的輸入框的特定範圍. 開始位置和結束位置設定為內容的總長度,游標就會定位到內容最右邊。 <body>

js、Jquery處理自動計算的輸入事件

js在處理的時候可以使用oninput去獲取當前輸入框輸入的值, jquery的時候使用了keypress和keydown但是發現都不能在輸入後觸發事件去獲取輸入框的值,這時候需要使用  ‘input propertychange’事件去進行輸入內容捕獲,但是中文的輸入法應該不可以,中文輸入可以參

JS compositionend事件解決自動補全輸入中文輸入法問題

資料參考自:https://www.cnblogs.com/jesse007/p/5627167.html $("#fund").on({ //輸入法完成時觸發 compositionend:function(){ addIn

JS自動生成動態HTML驗證碼頁面,輸入錯誤自動清空輸入

<html>     <head>         <title>驗證碼</title>         <meta charset="utf-8" />         <style type="text/

expect 極簡示例,用指令碼自動填寫輸入的內容

極簡示例、清爽易懂易修改【以下是 my.sh 內容,讀取使用者輸入並回顯的普通 shell 指令碼】#!/bin/shread -p "Input 1: " inputecho "My Input 1 is: $input"read -p "Input 2: " inpute

前端-text輸入是下拉菜單切能自動匹配

eth 版本 explorer input spa per www 很好 fire 一個真心很好使的前端案例,一個輸入框,裏邊是下拉菜單,可以根據你輸入的值自動匹配 是看了下邊的帖子深受啟發: http://www.runoob.com/try/try.php?filena

HTML LIST 輸入自動查詢追加,自動過濾 HTML5

inpu ima html5 div com dem datalist ali class 1 <!DOCTYPE HTML> 2 <html> 3 <body> 4 5 <form action="/exa

iOS中 H5的input輸入focus()無法自動拉起鍵盤(解決方法)

ios 不一定 中修改 解決 input rdd clas fig oar ios的hybird APP 無法使用focus()獲取焦點和鍵盤的問題。 解決方案 原來,在App的配置文件(config.xml),裏面默認會有一句 1 <preference name

input輸入輸入小寫字母自動轉換成大寫字母有兩種方法

per put 函數 for 小寫 pre 兩種方法 inpu 小寫字母 html裏input加上 <input type="text" id="txt1" value="" onkeyup="toUpperCase(this)"/> js寫函數 f

jquery的輸入自動補全功能+ajax

image -- spa 數據 adding box utf 分類 .com jquery的輸入框自動補全功能+ajax 2017年05月10日 18:51:39 辣姐什麽鬼 閱讀數:1461 標簽: web前端 更多 個人分類: web前端

輸入-郵箱自動補充

test.jsp <html> <head> <title>郵箱自動補充</title> </head> <body> <input type="text" name="email"/> &

掃碼槍掃描多個二維碼在明細行自動增行自動定位輸入

掃碼槍掃描二維碼需要滿足這樣的需求:1、開啟表單,自動定位到 掃姓名那個,掃描之後帶出姓名等,2,之後自動定位到 明細表 編碼列,掃描一個之後,自動增行,滑鼠定位在第二行的編碼列 第一點可以在完畢後直接focus到輸入框既可; 第二點思路是在表單寫一個鍵盤的按鍵事件

Android輸入自動提示進階--自定義佈局

發現Android的有兩種方法AutoCompleteTextView和MultiAutoCompleteTextView提示出來的提示框只是純文字而且是單條資料,要是想實現加一個圖片或者是每一條資料展示兩個資料呢,這就需要重寫介面卡設定佈局了 重寫介面卡: packag

Android輸入自動提示

Android用的有兩種方法AutoCompleteTextView和MultiAutoCompleteTextView,第二種可以連續提示輸入,如下圖   AutoCompleteTextView常用屬性  

[APICloud實用教程]檢測輸入已完成自動填寫下一個內容

APICloud檢測輸入已完成自動填寫下一個內容 在上一個部落格中APICloud簡易實現檢測輸入已完成,我們實現了檢測輸入已完成,現在我們再進一步,在此基礎上,實現檢測輸入已完成自動填寫下一個內容。 當我們需要自動填寫的內容,不希望被更改的時候,需要加上readonly屬性(對應如何增

輸入自動補全js程式碼

 $('.searchIpt').keyup(function(e){ if(event.which >= 37 && event.which <=40 || event.which == 13){//鍵盤值在37和40之間是上下鍵,13時是enter