WindowsフォームホストからのWebBrowserコントロールのアクティビティの追跡
-
05-07-2019 - |
質問
免責事項:私はクライアントに代わって質問していますが、この問題を直接目にしたことはありません。彼には、トレーニングメディアを生成するサードパーティアプリがあり、そのトレーニングアプリケーションは、WebBrowserコントロールを介してWinFormsアプリに表示されます。
WebBrowserコントロールでアクセスできるインターフェースは、表面上は、ホストアプリケーションがWebアプリケーションと完全に統合するために必要なすべての情報を公開していません。 HTML。彼は、例えばボタンのクリックと、そのクリックが発生したときのWebアプリの状態に関する情報を検出します。
WebBrowserでさらに多くのことがわかっている場合は、いくつかの領域を提案してください。それ以外の場合、WebBrowserコントロールに代わるものはありますか? MozillaからWindowsフォームコントロールのように見えるが、それほど独占的ではないものを打つことができますか?
解決
iは「ホストが必要とするすべての情報」について何も知りません。これはWebサイトに固有のものだと思います。 Webサイトは、簡単にアクセスできるように要素IDを提供するなど、予測可能な方法で情報を公開する必要があります。
Webサイトを再設計し、Webサービスを介していくつかのAPIを公開することができます。 HTML解析にブラウザを使用することは、非常に信頼性が高くスケーラブルではありません。
他のヒント
IEコントロールを使用している場合は、HTMLオブジェクトライブラリmsmhtl.dllを使用して、ほぼすべての操作を実行できます。 IEコントロールにフックしてDOMにアクセスし、すべてのイベントをインターセプトし、プログラムでHTMLをインターセプトして、その場で変更できます。しかし、これは大きなトピックです。
デモVBアプリへのリンク:
http://www.codeproject.com/KB/vb /kirangoka.aspx?msg=2587205
mshtmlおよびshdocvwでGoogleを使用すると、いくつかの興味深い例が見つかります。
別の方法として、WatiNをご覧ください。