코드에서 프로그래밍 방식으로 WebBrowser 컨트롤을 만든 다음 페이지 내용을 읽으 려합니다.
디자이너와 똑같은 일을하고 있다고 생각하지만 동적으로 생성 된 컨트롤이 작동하지 않는다 (DocumentText에서 빈 문자열 반환)동적으로 생성 된 WebBrowser가 작동하지 않습니다.
내가 뭘 잘못하고있어?
편집 2 :
WebBrowser browser = new WebBrowser { Name = "myBrowser"};
browser.DocumentCompleted += browser_DocumentCompleted;
browser.Navigate("www.google.com");
while (pageLoaded == false)
{
Thread.Sleep(500); // pageLoaded is local field
Application.DoEvents(); // didn't wotk without this...
}
Console.WriteLine(browser.DocumentText);
이벤트 처리기 코드 : (작업) @Axarydax 제안
홈페이지 블록 코드 후 코드 변화
void browser_DocumentCompleted (object sender, WebBrowserDocumentCompletedEventArgs e)
{
pageLoaded = true;
}
이제 브라우저가 DocumentCompleted 이벤트에 대해 알지 못하는 것을 잊었습니다. -> browser.DocumentCompleted + = new WebBrowserDocumentCompletedEventHandler (browser_DocumentCompleted)를 Main 메서드 – Axarydax
에 추가했습니다.이 코드 라인을 붙여 넣는 것을 잊어 버렸습니다. 하지만 마침내 Application.DoEvents()를 추가하여이를 정렬했습니다. while 루프에서 명령. 나를 안내해 주셔서 감사합니다! – Maciej