Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
Tags
- delphi 10.3
- 백준
- pyhcarm
- PyCharm
- TMS
- Push
- Django
- get_object_or_404
- dbadvgrid
- rank
- anaconda3
- HTML
- hackerrank
- advColumnGrid
- MSSQL
- declare
- GIT
- python 3.7
- queryset
- 중복제거
- github
- c#
- templates
- Delphi
- pythonanywhere
- python3
- Visual Studio
- 델파이
- blog
- COMMIT
Archives
- Today
- Total
DevHyun
TWebbrowser 컴포넌트 핸들링하기! 본문
TWebbrowser 컴포넌트에서 웹페이지를 호출 한 뒤 해당 페이지를 핸들링해보자!
1. Navigate 함수를 통해서 웹페이지 접속
procedure Tform1.FormCreate(Sender: TObject);
begin
Webbrowser1.Navigate('https://www.000.com ');
end;
2. 버튼 클릭시 특정 행동(value 값 전달, focus, click 등등)
procedure Tform1.WebBrowser1DocumentComplete(ASender: TObject;
const pDisp: IDispatch; const URL: OleVariant);
begin
WebBrowser1.OleObject.Document.all.item('AAA').Value := edit1.Text;
WebBrowser1.OleObject.Document.all.item('BBB').Value := edit2.Text;
WebBrowser1.OleObject.Document.all.item('BBB').focus;
WebBrowser1.OleObject.Document.all.item('CCC').Click;
end;
여기서 item들(aaa,bbb,ccc)을 확인하려면 HTML 지식이 필요하다.
웹페이지를 개발한 쪽에서 제공해준다면 편하겠지만 그렇지 않은 상황이 더 많을듯?
CHROME-해당 사이트 접속-개발자도구(F12)에서 확인 가능하다.
3. 예시화면
: 오른쪽 박스 부분을 클릭 한 뒤 왼쪽 웹페이지로 가면 선택된 부분들의 element를 볼 수있음.
4. elements에서 확인 후 source 탭에서 해당 input box의 id로 검색 후 name 확인
<span> <input type="text" id="client-name" name="clientName" class="text" autocomplete="off" placeholder="고객이름" maxlength="100" title="고객이름"></span> |
5. input box에 값 입력도 가능하고 해당 input box에 focus를 주거나 버튼을 클릭할 수 도있음!
* Delphi 2009의 TWebbrowser 컴포넌트에서는 Keybd_Event(VK_RETURN, VK_RETURN, 0, 0 ); 이런식으로 키보드 이벤트가 먹었던것 같은데, Delphi 10.3에서는 Keybd_Evnet가 먹지 않았음. 그래서 웹페이지의 버튼으로 직접 접근했음. 왜인지는 모름!
'Delphi' 카테고리의 다른 글
[TMS AdvColumnGrid] header 클릭 시 금액순으로 정렬하기 (0) | 2021.04.27 |
---|---|
Delphi에서 FastReport 핸들링 하기! (0) | 2021.01.21 |
tms 그리드에서 그리드 내의 숫자 format 변경하기 (0) | 2020.11.16 |
txt 파일을 이용하여 log 찍기 (0) | 2020.10.29 |
파일 이동 (move), 복사(copy) , 삭제(delete) (0) | 2020.10.29 |
Comments