• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:フレームを使ってるサイトはタグの取得はできない?)

フレームを使ってるサイトはタグの取得はできない?

このQ&Aのポイント
  • フレームを使ってるサイトでは、タグの取得ができないのでしょうか?
  • VBAでIEを操作していて、サイトにログイン後、imgタグの中にあるaltの値を取得したいのですが、imgタグやtdタグなどがスルーされてしまいます。これはサイトにフレームが使用されているためなのでしょうか?
  • フレームを使っているサイトでは、imgタグやtdタグなどを通過することができず、タグの値を取得することができません。ただし、frameタグを使用すると値を取得することができるようです。

質問者が選んだベストアンサー

  • ベストアンサー
  • DOUGLAS_
  • ベストアンサー率74% (397/534)
回答No.2

 例えば、 http://masaboo.cside.com/new_html1/ht_sun/frame02.htm のページでしたら、右側のフレームが <frame src="mainc.htm"> というソースになっていますので、#1さんがお書きの様に objIE.navigate "http://masaboo.cside.com/new_html1/ht_sun/mainc.htm" と、直接に、そのフレームのURLを開いてやれば、フレームの内容、というか、そのページが「objIE」に代入されます。  あるいは、むしろ、こちらの方が簡単かも知れませんが、下記の様に、 Set objFr = objIE.document.Frames.Item(1) というような形で、当該のフレームを、別のオブジェクトに格納してしまえば、objFr が、objIE と同じように扱えます。  例示のページではフレームに名前が付いておりませんが、例えば、 <frame src="menuc.htm" name="hoge"> というように、名前の付いているフレームでしたら、 Set objFr = objIE.document.hoge みたいなことができるかも知れません。 Sub Macro1()   Dim myURL As String   Dim objIE As Object   Dim objFr As Object   Dim myLnk As Object   myURL = "http://masaboo.cside.com/new_html1/ht_sun/frame02.htm"   Set objIE = CreateObject("InternetExplorer.Application")   With objIE     .navigate myURL     While .Busy Or .ReadyState <> 4: DoEvents: Wend     Set objFr = .document.Frames.Item(1)     With objFr       For Each myLnk In .document.getElementsByTagName("a")         Debug.Print myLnk.href       Next     End With     .Quit   End With   Set objIE = Nothing End Sub

UUCZZHSDST
質問者

お礼

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

その他の回答 (1)

  • ORUKA1951
  • ベストアンサー率45% (5062/11036)
回答No.1

そのフレームだけを開いて・・

UUCZZHSDST
質問者

お礼

vbaで、どう操作すればいいでしょうか? 教えてください。

関連するQ&A