2012-01-22 9 views
4

私はこのすべての朝と昨夜のこのすべての答えを探してきました。C#では、WebKitBrowserを使用して、HTMLを取得する方法は?

私はWebKit.NETを内部ブラウ​​ザとして使用してブラウザの活動を模擬し、チュートリアルhereに従っています。フォームを作成するときに

だから、私は宣言:

string content = webKitBrowser1.DocumentText; 

しかしをコンテンツが空である:

this.webKitBrowser1.Navigated += new WebBrowserNavigatedEventHandler(webKitBrowser1_Navigated); 

はwebKitBrowser1_Navigatedイベントで私が使用して、ドキュメントのテキストを取得してみてくださいどこに。私は、ウェブコンテンツを取得するためにWebKitのエンジンを必要とするので

はほかに、私はwebkitBrowserを使用しています。

WebKit Engineからテキストコンテンツを取得するにはどうすればよいですか?ありがとう。ウェブキットエンジンは文書のロードを終了したとき

+0

を私はあなたがWebKitBrowserビューフォームからデータをクリアする方法を知っています、その古いポストを知っています。 WebKitBrowser.clear()のようなものでしょうか?私は何も見つけることができません – susparsy

+0

@susparsy:私は長い時間(Windowsのため)C#を使用していませんでした。しかし、なぜあなたは.clearメソッドを呼び出す必要がありますか? – songyy

答えて

4

DocumentTextプロパティを介して)ドキュメントのコンテンツが利用可能です。プロパティに事前にアクセスすると、空のDocumentTextプロパティになります。

あなたは、ドキュメントがロードされるのを待つためにDocumentCompletedイベントを使用する必要があります。

次のコードは、DocumentCompletedイベントを使用する方法を示しています。

webKitBrowser1.Navigate("www.google.com"); 
webKitBrowser1.DocumentCompleted += 
    new WebBrowserDocumentCompletedEventHandler(webKitBrowser1_DocumentCompleted); 

void webKitBrowser1_DocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e) 
{ 
    string documentContent = webKitBrowser1.DocumentText; 

    MessageBox.Show(documentContent);  
} 
+0

ああ、物事を明確にしなかったら私を許してください。 WebKit.NETコンポーネントを使用しているので、WebBrowserDocumentCompletedEventHandlerを使用する代わりに、** WebKitBrowserDocumentCompletedEventHandler **を使用する必要があります。イベントが完了すると、ブラウザのelemnetからDocumentTextを取得できません。 – songyy

+0

@songyy:WebKitBrowserDocumentCompletedEventHandlerへの参照が見つかりません。私の例では、WebKit.NETコンポーネントを使用しています。 DocumentCompletedイベントのAPIドキュメントへのリンクは次のとおりです:http://webkitdotnet.sourceforge.net/docs/より完全なコードサンプルを提供してください。 – Hans

+0

こんにちは、お返事ありがとうございました。 – songyy

関連する問題