Please Enable JavaScript!
Gon[ Enable JavaScript ]

Visual C# 웹브라우저 WebBrowser 를 이용해 HTML 소스 가져오기

기타 언어/C# & MFC
반응형

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 내부에 소스만 보여지게 됩니다.

 

반응형
Posted by 녹두장군1
,