dポイントプレゼントキャンペーン実施中!

あるWebページで親ページのリンクから派生した子Windowのソースの取得、子Window内のリンクのクリックなどを行いたいです。子ページではデータが自動更新され、その変化をプログラムで記録したいと考えています。

親ページからきちんとログインした状態でないと、いきなり子ページのURLを指定してもエラーになるようなページです。

そのため、手動で子Windowを立ち上げて、後はプログラムでいろいろと自動処理をしようと思うのですが、そのためには、現在開いている子Windowの識別情報のようなものを取得する必要があります。このためにはどのクラス(ActiveX?,.NET?)のなんという関数()を使えばよろしいのでしょうか。

A 回答 (2件)

私が思いついたのは、子WindowのタイトルかURLで検索する方法。


例えば、Wshだと…
子Windowのソースを保存するWshです。

---
''子Windowのタイトル
Ko_Title=""

''子WindowのURL
Ko_Url=""

''保存先ディレクトリ
SaveDir = "C:\"

'子Windowを探す.
Set IEAppKo = Nothing
For Each IEApp In CreateObject("Shell.Application").Windows()
If InStr(1, IEApp.fullname, "iexplore.exe", vbTextCompare) > 0 Then
''If IEApp.LocationUrl = Ko_Title Then 'URLで検索する場合はこちら
If IEApp.LocationName = Ko_Title Then
Set IEAppKo=IEApp
Exit For
End If
End If
Next

If IEAppKo Is Nothing Then
MsgBox("子Windowを開いていません。")
WScript.Quit
End If

''子WindowのBody部分のソースを保存
nowdt = Now()
TimeStamp = CStr( _
Year(nowdt) & _
Right("00" & Month(nowdt),2) & _
Right("00" & Day(nowdt),2) & _
Right("00" & Hour(nowdt),2) & _
Right("00" & Minute(nowdt),2) & _
Right("00" & Second(nowdt),2))

Set objFileSys = CreateObject("Scripting.FileSystemObject")
SaveFileName = objFileSys.BuildPath(SaveDir,TimeStamp & ".html")
Set objOutFile = objFileSys.CreateTextFile(SaveFileName)
objOutFile.Write(IEAppKo.Document.Body.innerHTML)
objOutFile.Close()

MsgBox("終了")

--
参考URL
http://homepage3.nifty.com/aya_js/wsh/wsh23.htm
http://www.happy2-island.com/vbs/cafe02/capter00 …
http://msdn.microsoft.com/library/default.asp?ur …
    • good
    • 0
この回答へのお礼

ありがとうございます。WSHというものを知らないため、すぐには理解できませんが、こういうものがあるということを知れただけでも勉強になりました。

お礼日時:2006/10/30 13:38

お世話になります。



JavaScript で子 window を識別し、
操作するしかないと思います。
操作出来る事とできない事があります。
ご自身がやりたい事が可能かどうか、調べてみてください。

参考URL:http://tinyurl.com/scr6n
    • good
    • 0
この回答へのお礼

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

お礼日時:2006/10/30 13:37

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