Delphi는 웹 폼 데이터의 자동 제출을 실현한다

2313 단어 Delphi
본고는델파이가 웹 폼 데이터의 자동 제출을 실현하는 모든 기능을 소개하여 초기 코드에 참고하도록 한다.
MSHTML은 마이크로소프트의COM 구성 요소로 HTML 언어의 모든 요소와 속성을 봉인하여 표준 인터페이스를 통해 지정한 웹 페이지의 모든 요소에 접근할 수 있습니다.
MSHTML 대상 모델은 일부 대상과 집합으로 구성되어 있습니다. 뿌리에 있는 것은 HTML입니다. 페이지를 여는 1개의 창을 설명하는데, 일련의 집합과 대상을 포함합니다.Frames 컬렉션, History, Location, Navigator, Document, Vi-sum, Event 객체 등 고객 창의 실제 웹 페이지에 나타나는 설명은 Document 객체입니다.일련의 속성, 메서드, 객체 및 컬렉션으로 구성됩니다. 여기서 All 컬렉션에는 웹 페이지의 모든 태그(Tag) 요소가 포함되며 주요 메서드 및 속성은 다음과 같습니다.
(1)Length(길이): 표시가 나타나는 개수로 표시의 집합을 0에서 시작하는 1차원 그룹으로 이해하고 그 순서는 표시가 웹 위치에 따라 배열한다.(2) Tags(태그): Doc.Al1.Tags(P)가 모든 세그먼트 태그 P를 받는 등 지정된 태그의 컬렉션을 필터링하는 데 사용합니다.(3) Item(항목): 집합 중의 어떤 원소를 선택하는데 사용한다. 예를 들어object.item(0)은 집합된 첫 번째 원소를, object.item(i)는 i+1개의 원소를 선택한다.
그 밖에 IHTMLElement도 웹 페이지에 지정된 표지의 집합을 대표하는 집합 대상이다. 이 집합 대상을 통해 웹 페이지에 특정한 표지의 내용을 얻을 수 있다. IHTMLElement는 네 가지 주요 속성이 있다. (1) InnerText: 시작 표지와 끝 표지 사이의 문서.(2) InnerHTML: 시작 태그와 끝 태그 사이의 텍스트와 HTML;(3) OuterText: 객체의 텍스트,(4) OuterHTML: 객체의 텍스트 및 HTML.
procedure TForm1.Button1Click(Sender: TObject);
var
Doc:IHTMLDocument2;
input:OleVariant;
userinputelement,pwdinputelement:ihtmlinputelement;
begin
doc:=webbrowser1.document as ihtmldocument2;
userinputelement:=(doc.all.item('user'(              ),0) as ihtmlinputelement);
userinputelement.value:=edit1.text;(             )
pwdinputelement:=(doc.all.item('password',0) as ihtmlinputelement);
pwdinputelement.value:=edit2.text;
input:=doc.all.item('submit',0);
input.click;
end; 

데이터 제출 버튼에 NAME 속성이 없으면 다음과 같이 하십시오.
procedure TForm1.Button1Click(Sender: TObject);
var
Doc:IHTMLDocument2;
form:ithmlformelement;
userinputelement,pwdinputelement:ihtmlinputelement;

begin doc:=webbrowser1.document as ihtmldocument2; userinputelement:=(doc.all.item('user'( ),0) as ihtmlinputelement); userinputelement.value:=edit1.text;( ) pwdinputelement:=(doc.all.item('password',0) as ihtmlinputelement); pwdinputelement:=edit2.text; form:=(doc.all.item('login_form',0) as ihtmlformelement): form.submit; end;


로그인 버튼은 일반적으로 웹 페이지에서 기본적으로 리턴 버튼이기 때문에 앞의 클릭 버튼을 위 코드로 대체할 수 있다.

좋은 웹페이지 즐겨찾기