- ベストアンサー
webbrowserでのjavascriptを含むソース取得
webbrowserでのjavascriptを含むソース取得 お世話になっております。 VB 2005を利用しています。 webbrowserを用いてHTMLソースの表示をしようと、 WebBrowser1.Document.Body.OuterHtml と記述したところ、javascriptのソースが表示されません。 同じサイトをIEのソースで表示すると問題なく表示できます。 HttpWebRequest を用いたソースの取得方法はわかるのですが、 事情があって、webbrowser上から行いたいのです。 よろしくアドバイスの程お願いいたします。
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
'まぁ一応できるっぽいな Option Explicit On Option Strict On Option Compare Binary 'Option Infer Off Public Class MyApp Inherits System.Windows.Forms.Form Private wb As System.Windows.Forms.Webbrowser Public Shared Sub Main() Dim x As MyApp x = New MyApp() x.ShowDialog() End Sub Public Sub New() wb = New System.Windows.Forms.Webbrowser Me.Controls.Add(wb) AddHandler wb.DocumentCompleted,AddressOf Me.wb_DocumentCompleted wb.Navigate("http://oshiete1.goo.ne.jp/qa5782372.html") End Sub Private Sub wb_DocumentCompleted(ByVal sender As Object,ByVal e As System.Windows.Forms.WebBrowserDocumentCompletedEventArgs) Dim sr As System.IO.StreamReader = new System.IO.StreamReader(wb.DocumentStream,System.Text.Encoding.GetEncoding(51932)) System.Console.WriteLine(sr.ReadToEnd()) '何故か化ける 'System.Console.WriteLine(wb.DocumentText) End Sub End Class
お礼
javascriptがはき出したHTMLソースが見れないのは、時間の問題でした。 おそらくjavascriptの内部処理に時間がかかっているため、ソース生成に 時間がかかったのでしょう。 一定時間待てば、教えていただいた方法で無事に見ることができました。 また、webbrowser1.document.body.outerhtml でも、所定の時間を待てば 見ることができました。 これをもって、この質問はクローズさせていただきます。 ありがとうございました。
補足
アドバイスありがとうございます。 ただ、残念ながらこの方法では、javascriptソースそのものが見えてしまいます。 元のjavascriptソースを表示するのではなく、javascriptがはき出したHTMLソースを 見たいと考えております。 こういう観点で再度アドバイスよろしくお願いいたします。