はじめまして。
この度、フレームになっているホームページのソースコードを取得する方法に付きまして、御教示して頂きたく書き込み致しました。
ホームページはVB6で作成したWebBrowserで指定したURLを読み込みます。
読み込み完了後にホームページのソースコードを取得したいのですが、
上下のフレームページの場合、上下共、両方のフレームのソースコードを取得したいのですが、下のフレームのソースコードしか取得することができません。
ソースコードは下記で取得しています。(抜粋です。)
Set doc = WebBrowser1.Document
HP_Text = doc.body.innerHTML
(中略)
Set doc = Nothing
良い方法があれば、御教示お願い致します。
宜しくお願い致します。
.WebBrowser1.Document.frames("ページ名.html")
または、
.WebBrowser1.Document.frames(フレーム番号)で取得できます。
またフレーム構成が多層階層になっている場合は
FRAME 0 <XXX.html>
FRAME 1 <YYY.html>
FRAME 2 <FRAME SET>
FRAME 0 <AAA.html>
FRAME 1 <BBB.html>
BBB.htmlは、
.WebBrowser1.document.frames(2).document.frames(1).document
となります。
ご返事遅くなり大変申し訳ございません。
早速やってみたいと思います。
ありがとうございました。
結果、ご連絡に伺います。
お世話になります。
サンプルとして下記コードで実行してみましたが、
エラー438が出てしまいます。
Private Sub Form_Load()
WebBrowser1.Navigate "http://www.****"
End Sub
Private Sub Command1_Click()
Set doc = WebBrowser1.Document.frames(1)
Text1 = doc.body.innerHTML
Set doc = Nothing
End Sub
解決方法がございましたら、御教示お願い致します。
宜しくお願い致します。
> エラー438が出てしまいます。
『オブジェクトは、このプロパティまたはメソッドをサポートしていません。』ですね。
> Set doc = WebBrowser1.Document.frames(1)
> Text1 = doc.body.innerHTML
エラーの原因は、プロパティの指定が間違っているからでしょう。
1. 「framesコレクション」は、「windowオブジェクト」を列挙します。http://www.microsoft.com/japan/developer/library/jpisdk/dhtml/references/collections/frames.htm
2. しかし「windowオブジェクト」には、「bodyプロパティ」がありません。
http://www.microsoft.com/japan/developer/library/jpisdk/dhtml/references/objects/obj_window.htm
これが、エラー438の理由でしょう。
これを解決するには、個々のdocumentを取得して、そこからbody要素を
取り出すようにします。
3. 「bodyプロパティ」は、「documentオブジェクト」のメンバであり、
それは「windowオブジェクト」の「documentプロパティ」から取得できます。
http://www.microsoft.com/japan/developer/library/jpisdk/dhtml/references/objects/BODY.htm
http://www.microsoft.com/japan/developer/library/jpisdk/dhtml/references/objects/obj_document.htm
おはようございます。
サンプルコードがまずくて申し訳ありませんでした。
Private Sub Command1_Click()
'Set doc = WebBrowser1.Document.frames(1)← ×
Set doc = WebBrowser1.Document.frames(1).Document← ○
Text1 = doc.body.innerHTML
Set doc = Nothing
End Sub
魔界の仮面弁士さん、詳しく説明して頂きまして、有難うございました。
中途半端さん、ご教示頂きましたサンプルコードで解決致しました。
色々と有難うございました。