IHTMLDocument2 為文件根節點,all 集合包含所有標籤元素。常用屬性/方法:
all.item('name', index):依 name 與索引取得元素。IHTMLInputElement.value:讀寫輸入框值。IHTMLElement.click / IHTMLFormElement.submit:觸發提交。procedure TForm1.Button1Click(Sender: TObject);
var
Doc: IHTMLDocument2;
UserEl, PassEl: IHTMLInputElement;
Btn: OleVariant;
begin
Doc := WebBrowser1.Document as IHTMLDocument2;
UserEl := Doc.all.item('user', 0) as IHTMLInputElement;
UserEl.value := Edit1.Text;
PassEl := Doc.all.item('password', 0) as IHTMLInputElement;
PassEl.value := Edit2.Text;
Btn := Doc.all.item('submit', 0);
Btn.click; // 模擬點擊提交按鈕
end;
procedure TForm1.Button1Click(Sender: TObject);
var
Doc: IHTMLDocument2;
UserEl, PassEl: IHTMLInputElement;
Frm: IHTMLFormElement;
begin
Doc := WebBrowser1.Document as IHTMLDocument2;
UserEl := Doc.all.item('user', 0) as IHTMLInputElement;
UserEl.value := Edit1.Text;
PassEl := Doc.all.item('password', 0) as IHTMLInputElement;
PassEl.value := Edit2.Text;
Frm := Doc.all.item('login_form', 0) as IHTMLFormElement;
Frm.submit; // 直接提交表單
end;
uses 中引入 MSHTML 單元(安裝 Microsoft HTML Object Library)。WebBrowser1 必須已完成導航(DocumentComplete 事件後)才能存取 Document。ReadyState = READYSTATE_COMPLETE。IHTMLElement.innerText/innerHTML 擷取頁面資料。element.onclick := ... 或執行 execScript。