アプリ版:「スタンプのみでお礼する」機能のリリースについて

webbrowserでのjavascriptを含むソース取得

お世話になっております。
VB 2005を利用しています。

webbrowserを用いてHTMLソースの表示をしようと、
WebBrowser1.Document.Body.OuterHtml
と記述したところ、javascriptのソースが表示されません。

同じサイトをIEのソースで表示すると問題なく表示できます。

HttpWebRequest を用いたソースの取得方法はわかるのですが、
事情があって、webbrowser上から行いたいのです。

よろしくアドバイスの程お願いいたします。

A 回答 (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ソースそのものが見えてしまいます。

元のjavascriptソースを表示するのではなく、javascriptがはき出したHTMLソースを
見たいと考えております。

こういう観点で再度アドバイスよろしくお願いいたします。

補足日時:2010/04/02 01:00
    • good
    • 0
この回答へのお礼

javascriptがはき出したHTMLソースが見れないのは、時間の問題でした。
おそらくjavascriptの内部処理に時間がかかっているため、ソース生成に
時間がかかったのでしょう。

一定時間待てば、教えていただいた方法で無事に見ることができました。
また、webbrowser1.document.body.outerhtml でも、所定の時間を待てば
見ることができました。

これをもって、この質問はクローズさせていただきます。

ありがとうございました。

お礼日時:2010/04/06 01:28

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!