* C#을 사용하여 WebBrowser를 컨트롤 해야 되는 일을 하게 되었다.
* 그래서 간단하게 사용 방법을 정리 해본다.
* new System.Windows.Forms.WebBrowser()의 생성. 드래그 드롭으로 생성한다..;;
* 사이트 이동.
webBrowser1.Navigate("https://192.168.10.200/");
- 위와 같이 하면은 이동이 된다.
* 특정 엘리먼트를 호출하여 value값 셋팅(input). 자바스크립트와 참 많이 닮았다.
webBrowser1.Document.GetElementById("username").InnerText = "admin";
webBrowser1.Document.GetElementById("password").InnerText = "admin";
- javascript의 getElementById랑 똑같다~
* 특정 엘리먼를 호출하여 이벤트 호출하기.
webBrowser1.Document.GetElementById("login-btn").InvokeMember("click");
* 만약 ID가 없다면?? 가지고 있는 특정 값으로도 찾을수 있다.
//button 태그를 모두 찾아 낸다.
HtmlElementCollection elc2 = this.webBrowser1.Document.GetElementsByTagName("button");
//찾아낸 태그를 모두 스캔한다.
foreach (HtmlElement el2 in elc2)
{
// Yes라는 글자를 값으로 가지고 있는 버튼을 찾아 클릭한다.
if (el2.InnerText.Equals("Yes"))
{
el2.InvokeMember("Click");
break;
}
}
* 반대로 특정 엘리먼트가 특정 동작을 하거나 변화하거나 할때 이벤트가 발생 하도록 설정 해보자.
//모든 div를 찾는다.
HtmlElementCollection elc = this.webBrowser1.Document.GetElementsByTagName("div");
//모든 div를 스캔한다.
foreach (HtmlElement el in elc){
// 모든 div 에 onpropertiychange event 등록
el.AttachEventHandler("onpropertychange", delegate { dashBoardChangeCheck(el, EventArgs.Empty); });
}
private void dashBoardChangeCheck(object sender, EventArgs args) {
//이벤트 처리 동작
}
'C#의 속삭임' 카테고리의 다른 글
[C#][WPF] 첫시작. (0) | 2014.04.23 |
---|---|
[C#][WPF]데이터 바인딩 (0) | 2014.04.22 |
[C#][WPF][프레임워크][MVVM] MVVM Light (0) | 2014.04.17 |
[C#][패턴] MVVM (0) | 2014.04.16 |
[C#][AxWebBrowser] AxWebBrowser 컨트롤러 (0) | 2014.04.08 |