2016-10-05 6 views
1

対GeckoFX私は(IE)デフォルトVisualStudioをWebBrowserコントロールを使用する場合、私はちょうどこのような何か書くでしょう:C#の - InnerHTMLの

textBox3.Text = webBrowser1.Document.GetElementById("mydivid").InnerHtml; 

をしかし、私はGeckoFX(Mozillaの)を使用して頑固だとofcourseのそれはdoesnの仕事。私が見つけたのは、私が "Document"ではなく "HTMLDocument"という言葉を使って私の希望する価値を引き出すために必要な情報です。しかし、私のニーズに合った例はありません。 この特定の要素のinnerHTMLを取得するにはどうすればよいですか?私は他のトピックを読んだ@Timothyグルートへ

---レスポンス---

は - コードのない例はGetElementByIdでありません、それは広い定義のようだが、私は特定のものを必要とする - 私はこれを読むことができません私のアプリで使っているメソッドやプロパティを明確にしてください。

私の要素は常にHTML要素であることを付け加えることができるので、いつも "if"を使ってその要素を検証する必要はありません。

私は(代わりにinnerHTMLプロパティの)私のアプリの結果では、 "他のコード" を使用のみでした: "他のコード" で

<head></head><body></body> 

も間違いあり:

var geckoDomElement = WebBrowser1.Document.DocumentElement; 

をwebBrowser1コントロールはありません! geckoWebBrowser1のみ、どちらも動作しません!

(GeckoHtmlElement)geckoWebBrowser1.Document.DocumentElement 

textBox3.text = (GeckoHtmlElement)geckoWebBrowser1.Document.GetElementById("mydivid").... 

が、何の "innerHTMLのは" もありません

:私もそのようなことを考えていた

--- EDIT2 ---

"getElementById"はありません。

+0

[gecko WebブラウザからソースHTMLを取得するにはどうすればいいですか? InnerHtmlはもう存在しません](http://stackoverflow.com/questions/20547402/how-to-get-source-html-from-gecko-web-browser-innerhtml-does-not-exist-any-more) –

+0

あなたはhttp://www.awesomium.com/を使ったほうがいいです。 –

答えて

1

ANSWER :

GeckoHtmlElement machcode; 

見つける要素:

machcode = geckoWebBrowser1.Document.GetHtmlElementById("machinecode"); 

そして最後にコンテンツを読み込む:

textBox3.Text = machcode.InnerHtml; 

そして、もう一つ重要なことは、DocumentCompleteイベントにコードを配置することでした!

Webで提供されるすべてのソリューションは間違っていました。存在しないwebBrowser1コントロールを指し示していても、定義を忘れていても、null例外をスローする、GetHtmlElementの代わりに間違ったGetElementを使うものもあります。

2

あなたがその非常にシンプルその後、Geckofx 45を使用している場合、あなたはこの簡単なチュートリアルを試し、その後Geckofx 45を使用する方法がわからない場合だけ....このよう

GeckoHtmlElement testelement = null; testelement = (GeckoHtmlElement)webBrowser1.Document.GetElementById("test"); string text=testelement .InnerHtml;

を試してみてください。.. 変数を定義する。もちろん、How to use or embed Geckofx 45 Webbrowser control into Visual Studio into WinForms Applications

+0

私のアプリにwebBrowser1を持たないでください(前に書いたように)=このコードは機能しません。 もっと簡単にするために、読み込まれたinnerHTML値をtextbox3にまっすぐに置いて、変数は一切入れません。 'textBox3.Text =(GeckoHtmlElement)webBrowser1.Document.GetElementById( "テスト")innerHTMLの;'私がnull要素を定義する必要があるのはなぜ ? –

+0

またリンクされたチュートリアルは、Geckoパッケージをプロジェクトに組み込むことについてのものです。 –

+0

要素をhtmlElementに変換する前にinnerHtmlを使用することはできません。 convert要素をhtmlElementに変換した後で、innerHtmlを取得します。 innerhtmlのみhtmlElementプロパティ。 – dipankar