반응형
Visual C# 웹브라우저 WebBrowser 를 이용해 HTML 소스 가져오기 |
개발환경 : window 7 64bit, Microsoft Visual Studio 2012 |
WebBrowser 를 이용해 HTML 소스를 가져오는 법에 대해 알아봅니다. 이전 아티클에서는 웹브라우저를 만드는 방법에 대해 알아보았습니다. 이번에는 접속한 웹사이트의 HTML 을 가져와 Text 박스에 소스를 뿌리게 됩니다. |
먼저 URL 접속을 위해 toolStripTextBox1 에 Enter 를
클릭하게 되면 toolStripButton6_click 함수를 호출합니다.
// URL key down private void toolStripTextBox1_KeyDown(object sender, KeyEventArgs e) { if (e.KeyCode == Keys.Enter) { this.toolStripButton6_Click(sender, e); } }
toolStripButton6_click 함수는 WebBrowser 에 URL 을
셋팅하고 사이트를 이동하게 합니다. 이동하게 하는
Navigate 입니다.
private void toolStripButton6_Click(object sender, EventArgs e) { webBrowser1.Navigate(toolStripTextBox1.Text); }
Navigate 를 이용해 이동하면서 페이지 로딩이 완료
되면 webBrowser1_DocumentCompleted 실행됩니다.
소스는 HTML 로 싸져 있는 내용을 가져옵니다.
HtmlElement 로 변환해서 내용을 받습니다.
OuterHtml 은 현재 요소를 포함한 태그를 리턴하고
현재요소를 제외하고 싶으면 InnerHtml 을 쓰면 됩니다.
private void webBrowser1_DocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e) { //webReady = true; this.Text = webBrowser1.Document.Title + " - 브라우저 샘플"; toolStripTextBox1.Text = webBrowser1.Document.Url.ToString(); HtmlElement elem; if (webBrowser1.Document != null) { HtmlElementCollection elems = webBrowser1.Document.GetElementsByTagName("HTML"); if (elems.Count == 1) { elem = elems[0]; string pageSource = elem.OuterHtml; txtHtmlView.Text = pageSource; } } }
아래는 실행한 화면입니다.
Html 내부에 소스만 보여지게 됩니다.
반응형
'기타 언어 > C# & MFC' 카테고리의 다른 글
[C#] MDI 폼에서 자식폼이 열어 있을 때 앞으로 보내기 (0) | 2015.01.31 |
---|---|
[C#] MySQL 연결후 데이터 저장, 조회 하기 (2) | 2015.01.24 |
[C#] MySQL 데이터 저장시 한글이 깨질 때 (0) | 2015.01.03 |
[Visual C#] Environment 를 통해 시스템 정보, OS 버전알아오기 (0) | 2014.11.25 |
Visual C# 두개의 폼간 데이터 주고 받기위해 delegate, event 사용 (0) | 2014.10.14 |
Visusl C# Windows Forms Application 생성후 메지지 박스 표시하기 (0) | 2014.10.11 |
Visual C# Form 에서 영역을 나누어 처리 위한 SplitContainer 사용법 (0) | 2014.10.05 |
Visual C# 다중 폼간 이벤트 전달하기 (0) | 2014.10.03 |