MSHTML是微軟公司的一個COM組件該組件封裝了HTML語言中的所有元素及其屬性通過其提供的標准接口可以訪問指定網頁的所有元素.MSHTML對象模型是由一些對象和集合組成的.處於根部的是HTML描述了打開頁面的個窗口包括一系列集合和對象如Frames集合HistoryLocationNavigatorDocumentVi—sumEvent對象等.其中描述呈現在客戶窗口實際網頁的是Document對象由一系列的屬性方法對象和集合組成.其中All集合中包含網頁中所有標記(Tag)元素其主要的方法和屬性有
()Length(長度)即標記出現的個數可以把標記的集合理解為從開始的一維數組其次序按照標記在網頁位置排列
()Tags(標記)用於過濾出給定標記的集合如Doc.Al.Tags(P)得到所有分段標記P
()Item(項目)用於選擇集合中的某個元素如object.item()得到集合的第個元素而object.item(i)得到第i+個元素.
此外IHTMLElement也是個常用的集合對象代表網頁中指定標記的集合通過這個集合對象可以得到網頁上特定標記的內容.IHTMLElement有個主要屬性
()InnerText開始標記和結束標記之間的文本
()InnerHTML開始標記和結束標記之間的文本和HTML
()OuterText對象的文本
()OuterHTML對象的文本和HTML.
procedure TForm
Button
Click(Sender: TObject);
var
Doc:IHTMLDocument
;
input:OleVariant;
userinputelement
pwdinputelement:ihtmlinputelement;
begin
doc:=webbrowser
document as ihtmldocument
;
userinputelement:=(doc
all
item(
user
(也就是網頁中用戶名控件的名字)
) as ihtmlinputelement);
userinputelement
value:=edit
text;(也就是你要向網頁輸入的東西)
pwdinputelement:=(doc
all
item(
password
) as ihtmlinputelement);
pwdinputelement
value:=edit
text;
input:=doc
all
item(
submit
);
input
click;
end;
當提交數據按鈕沒有NAME屬性時采用如下方法
procedure TForm
Button
Click(Sender: TObject);
var
Doc:IHTMLDocument
;
form:ithmlformelement;
userinputelement
pwdinputelement:ihtmlinputelement;
begin
doc:=webbrowser
document as ihtmldocument
;
userinputelement:=(doc
all
item(
user
(也就是網頁中用戶名控件的名字)
) as ihtmlinputelement);
userinputelement
value:=edit
text;(也就是你要向網頁輸入的東西)
pwdinputelement:=(doc
all
item(
password
) as ihtmlinputelement);
pwdinputelement:=edit
text;
form:=(doc
all
item(
login_form
) as ihtmlformelement):
form
submit;
end;
登錄按鈕一般都是網頁中默認的回車按鈕所以可以用上面代碼來代替前面的點擊按鈕
From:http://tw.wingwit.com/Article/program/Delphi/201311/24912.html