プロが教えるわが家の防犯対策術!

とあるページを開いてログインを自動ですることはできたのですがその後の操作で行き詰まったので教えてください。

ログインをすると新しいウインドウが開きプログラムは古いウインドウに対して操作しようとするのでうまくいきません。
新しいウインドウが開き終わるまで待ち、その後はそちらのウインドウを操作するにはどうしたらいいですか?

また、その新しいウインドウでは文字をクリックしたいのですが、どうしたらいいのでしょうか?
下記はそのページのソースの一部を抜粋して一部を??に変えた物です。

<TR>
<TD width="30"></TD>
<TD width="" style="font-size:24px;">
<A href="javascript:setSel('??_????06030?_go/????02010');" tabindex="70">文字</A>
</TD>
</TR>

よろしくお願いします。

A 回答 (2件)

> ログインをすると新しいウインドウが開きプログラムは古いウインドウに対して操作しようとするのでうまくいきません。



以下は、断片的なコードですが、IE のすべてのウィンドウを列挙するやりかたです。

Dim S
Set S = CreateObject("Shell.Application")
Dim W
Set W = S.Windows()
Dim IE
For Each IE In W
MsgBox IE.LocationURL
' IE.LocationURL あたりを見て目的のウィンドウかどうかを判断する。
Next

> 新しいウインドウが開き終わるまで待ち、その後はそちらのウインドウを操作するにはどうしたらいいですか?

これは分かりません。本来は、開き終わるイベントを取得すべきなのでしょうが、とりあえずはポーリング(タイマーなどで定期的に調べる)でも良いとは思います。

> また、その新しいウインドウでは文字をクリックしたいのですが、どうしたらいいのでしょうか?

文字のクリックですか?
それはリンクのクリックということでしょうか?リンクのクリックならば、HTML のオブジェクトに対しておそらくクリックのメソッドがあると思いますので、それを使えばできるはずです。

VBScript を最終的なターゲットにされるとしても、開発の初期・中期の段階は VB を使われたほうが、デバッグ用のウィンドウなどもあるので便利です。変数に入っているオブジェクトの型などもすぐに分かります。VB がなくても Word や Excel の VBA でも同様にデバッグできます。
    • good
    • 0
この回答へのお礼

お礼が遅くなってすみません。
丁寧な解答ありがとうございました。

文字のクリックなのですが、上にソースを画いたようにオブジェクトが分からないのです。
javaを何かしているようなんですが。。。

お礼日時:2006/09/19 09:05

No.1 です。



> 文字のクリックなのですが、上にソースを画いたようにオブジェクトが分からないのです。
> javaを何かしているようなんですが。。。

Java とは Java Applet などの Java でしょうか?JavaScript ではなく?
Java だと、その中にアクセスするのはとても難しくなります。本当に Java なのでしょうか?

とりあえず、IE 上で右クリックをして「すべてを選択」→「コピー」して、それをメモ帳や Excel にペーストしてみると分かります。目的とする文字がペーストできるようならば、Java(JavaApplet) ではないので、通常の HTML の要素へのアクセス方法でなんとかアクセスできるはずです。
ペーストできなかったら、JavaApplet や IMG で描かれたものなので、まずアクセスは無理でしょう。
    • good
    • 0

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