v6から追加されたChrome自動操作記録を使ってもメニューやリンクをクリックして起動した「新しいタブ」で開かれたページの操作は記録できないので、ブラウザ操作の使い方を整理しておきます。
- ウィンドウハンドル取得
- 任意のウィンドウへ移動
- 次のウィンドウへ移動
- ウィンドウクローズ
- ブラウザクローズ
1.まずはブラウザを起動。
何はともあれ、自動操作対象のブラウザはWinActorから起動してブラウザ変数を取得する必要があります。
自動操作でも記録できるし、普通にブラウザ起動から作ってもイイネ。
そこから、ページ表示でURL移動するところまでは困らずにできるハズ。
2.「新しいタブ」でリンク先が開くイベントが発生。
タブが変わっちゃうと操作記録が出来ないね。
ここからブラウザ関連ライブラリの使い方の分かりにくいとこ入っていくよ。
必要な機能を順番に見ていくよ。
3.「次のウィンドウへ移動」
ハイ、コレ罠ね。
次の**「ウィンドウ」**ってなってるけど、このライブラリを使うとブラウザ変数で参照されているページの右隣りのブラウザタブのWebページにブラウザ変数の制御参照が移るよ。
で、ここで気をつけなきゃいけないのは、参照がコロッと変わってしまうので移動先のページを閉じる操作をした時にブラウザ変数の参照が切れてしまうってこと。
一応、**「異常時の移動先」**っていう設定で最初のタブに戻る方法も考えられるけど、今回は次の4.5.と組み合わせた方法を紹介するよ。
4.「ウィンドウハンドル取得」と「任意のウィンドウへ移動」
このノードを使うと、変数によくわかんない英数の羅列が手に入るんだけど、これはブラウザのマイナンバーみたいなもんだね。
**「ウィンドウハンドル取得」で取得したハンドルを「任意のウィンドウへ移動」**のハンドルに指定すれば、そのブラウザを制御できるようになるんだ。
でも、そもそも**「ウィンドウハンドル取得」**は、すでに制御を持っているブラウザからしか取得できないんだ。
言ってる意味わかるかな? 3と組み合わせて使う方法を最後に説明するよ。
5.「ウィンドウクローズ」と「ブラウザクローズ」
「ウィンドウクローズ」 ⇒ 制御対象のタブブラウザを閉じられるよ。
「ブラウザクローズ」 ⇒ すべてのタブを閉じてブラウザを閉じられるよ。
新しいタブが生成されない制御だとあまり使い方に差はないかな。
6.つまり整理すると、こうやって使えってことかな。
**「次のウィンドウへ移動」の前に「ウィンドウハンドル取得」を行って、新しいタブの操作が終わったら「任意のウィンドウへ移動」**で元のブラウザタブに戻って別の操作をする。
移動できるタブは**「次のウィンドウ」になっちゃうから、都度、「ウィンドウクローズ」**で操作が終わったタブは閉じておくと制御が楽そうですね。
最後に
いろいろな使い方、勉強中です。
普段は自分のブログに試したこと纏めてますが、今回の機能はあまり認知されていなかった様なのでQiitaにも掲載させて頂きました。