반응형
|
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 |
