0

Webブラウザコントロールを使用して作成しているプログラムのWebサイトからHTMLソースにアクセスする必要があります。プログラム自体はHTMLに基づいて操作しますが、問題が発生します。私が見たものに基づいて、コントロールがテキストを更新するために約100MSを許可することで十分であることがわかりました。

WebBrowser.Document/をグローバルにアクセス可能なドキュメントファイルに保存するためのトリガーに関連付けられたタイマーイベントWebBrowser.DocumentTextがありますが、発生している問題は、Specified CastNotValid例外がスローされていることです。DocumentTextプロパティの内容を調べようとすると、何も表示されません。ウォッチを設定すると、前の機能評価がタイムアウトしたため、機能評価が無効になったことを示します。

DocumentText今のところ、関数を使用して印刷しようとしていConsole.WriteLineますが、それでも機能しません。

要約すると、私は自分が何をしているのかわかりません。誰かが私が探している結果を達成する解決策または解決策に私を導くことができますか?

4

1 に答える 1

0

私はここで私の問題の解決策を見つけました: http ://social.msdn.microsoft.com/Forums/en/winforms/thread/642f59c5-84f1-4945-90d3-220592ace5f1

具体的には、次のWebBrowser.DocumentCompletedようにイベントハンドラーをイベントに追加することで解決できます。

    void Browser_DocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e)
    {
        if (Browser.ReadyState == WebBrowserReadyState.Complete)
            doc = Browser.Document;
    }

重要なのはifステートメントにあると思います。それが本当なら、ドキュメントはアクセス可能であるため、おそらくどこにでも置くことができます(そして、そのイベントハンドラーでそれを処理することを検討する必要があります。つまり、すべてを配列またはリストに格納しない限り、新しいドキュメントに移動するたびに上書きされます。ページ)。

于 2013-01-20T19:49:31.360 に答える