私はこれを持っている私のWebブラウザーLoadCompleteコールバックでC#でWPFとWPF WebBrowserを使用して私は実際に個人的なプロジェクトで作業しています。#WPF Webbrowser msHTML - DOMの探索 - 要素の検索
private mshtml.HTMLDocument mainDocument = new mshtml.HTMLDocument();
::私たちは私のメインウィンドウで
をJavaScriptでやるかphp..etcするために使用されるように、私は本当に私は、この変数を持っているHTML DOM要素を検討する必要がある
mainDocument = (mshtml.HTMLDocument) mainBrowser.Document;
これはうまく動作しています。
私はこれを行う場合今:
mshtml.IHTMLElement elem = mainDocument.getElementById("MY_ID");
それはelem.innerHTMLまたはそのようなサムスものを行うことができ、また、非常にうれしいです。
しかし、私の問題は、私はIHTMLElement内の要素を見つける方法がわからないtagnames..etc
により、IDによって要素を見つけるために、methodesを持っているのHTMLDocumentだけです。私はIHTMLElement2..etcにIHTMLElementをキャストするようなものを試しましたが、何も動いていませんでした。
ご意見がありましたらお知らせください。多くの人がwinforms webbrowserのホスティングについて語っていますが、mshtmlだけでそれを行う方法が必要だと思います。
どうもありがとう、 あなたはより多くの情報が必要な場合は、私に
PSをお気軽にお尋ねください。私はフランス人だので、あなたがHTMLを解析したい場合は、私は私のEngishスキル
確かに、もし私たちがすでにWPF WebBrowserの 'Document'プロパティにHTML文書を持っていたら?ドキュメント全体をリロードしなくても、HTML全体にアクセスしてHtmlAgilityPackを初期化することができますか? – Clemens
はい、そうすることができます。以下はあなたがそれを行う方法です。 HtmlAgilityPack.HtmlDocument doc = new HtmlAgilityPack.HtmlDocument(); doc.Load(webBrowser1.DocumentStream); または次のように指定できます。 HtmlAgilityPack.HtmlDocument doc = new HtmlAgilityPack.HtmlDocument(); doc.Load(webBrowser1.Document); 上記の変更を含めるために私の上記の回答を編集しました。 – Sujit
答えが役に立たない場合は、回答としてマークしてください。他の人も同様に利益を得ることができます。 – Sujit