2012-09-24 2 views
1

내 페이지에 WebBrowser 컨트롤이 있습니다. 브라우저 컨트롤에 표시된 페이지에서 일부 자바 스크립트를 시작합니다. 난 내 웹 페이지를 저장하려고 할 때이 오류webbrowser.document throws 지정된 캐스트가 유효하지 않은 예외입니다.

String strHtml = _browser.Document.Body.OuterText; 
File.WriteAllText("C:\saveme.html", strHtml); 

있어이 라인은 _browser.Document.Body.OuterText 내가 또한 호출하지만 does't 작업을 사용했다

Exception:: Specified cast is not valid. 
at System.Windows.Forms.UnsafeNativeMethods.IHTMLDocument2.GetLocation() 
at System.Windows.Forms.WebBrowser.get_Document().... 

예외를 발생 , 내가 놓친 것입니다

답변

3

UI 스레드에서 WebBrowser 컨트롤에 액세스하고 있습니까? 그렇지 않은 경우 UI 스레드에서 액세스하거나 Dispatcher.Invoke을 사용하십시오. 자세한 내용은 "Specified cast is not valid" error을 참조하십시오.

그렇지 않으면 문서가 아직 로딩을 완료하지 않은 것일 수 있습니다. 문서가로드되었는지 확인하기 위해 DocumentCompleted 이벤트가 발생할 때까지 기다린 다음 속성에 액세스합니다. 자세한 내용은 WebBrowser.Document.Body is always null을 참조하십시오.

관련 문제