Web アプリケーションで WebBrowser コントロールを使用しています。DocumentCompleted イベントで、文字列に DocumentText が必要です。私の DocumentCompleted イベントは次のようなものです。
void IEBrowser_DocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e)
{
string str = IEBrowser.DocumentText;
}
今問題は、DocumentCompleted イベントで取得できない DocumentText です。DocumentCompleted イベントの後に処理を行う JavaScript がいくつかあると思います。そこで、コードを次のように変更します。
void IEBrowser_DocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e)
{
Thread th = new Thread(new ThreadStart(startthread));
th.Start();
}
public void startthread()
{
//To Wait untill WebBrowser run that javascript
Thread.Sleep(5000);
string str = IEBrowser.DocumentText;
}
このコードを使用すると、「指定されたキャストは無効です。」というメッセージが表示されます。WebBrowser が実行されているスレッドを待機させるにはどうすればよいですか?