作者: Koichi Yamamoto
日時: 2003/6/25(02:02)
こんにちは、山本です。

"藤岡和夫 <kazuf@...>"さんは書きました:
> Webブラウザでフレームに表示されているURLを取得して、それをどこか別のフレー
> ムに表示させる方法ってあるでしょうか。
> 
> フレームに表示されているURLはフレームにカーソルを合わせて右クリックでプ
> ロパティを表示させればわかるのですが、リアルタイムに別フレームかなにかに
> 表示させられないかという質問です。

どんな運用を想定しているのか判らないので質問の意図を誤解しているかもしれませんが、
とりあえずWindowsのデスクトップ上でInternet Explorerが開いているドキュメントのURLと
フレームのURLをダンプするPythonスクリプトを以下に示します。

import win32com.client
import pywintypes
CLSID_ShellWindows = pywintypes.IID( '{9ba05972-f6a8-11cf-a442-00a0c90a8f39}' )
o = win32com.client.Dispatch( CLSID_ShellWindows )
for i in range(o.Count):
    doc = o.Item(i).Document
    print "%03d: %s" % ( i + 1, doc.url )
    for j in range(doc.frames.length):
        try:
            print "    (%03d: %s)" % ( j + 1, doc.frames(j).location.toString() )
        except:
            print "    (%03d: perhaps IFRAME)" % ( j + 1 )

なお、IFRAMEタグで定義されているフレームのURLはうまく取得できていません。

他のウィンドウでフレームの内容を表示するようにしたいときは
win32api.ShellExecute()を使えば可能です。

--
Koichi Yamamoto, 
http://homepage3.nifty.com/yamakox/