IE入力欄でTAB移動ができないです。。。
Excelの値を2つのIEページに転記していく処理を作成しています。
テスト段階において問題が発生してしまいましたので相談させてください。
作成シナリオはざっくり以下の通りです。
※IEモードは使えないページのためIEモードなしで作成しています。
=============作成シナリオ=====================
◇ループ開始◇
①Excelから値を読み込む
②IEページA の入力欄に値を設定後に、TABで次の入力欄に移動(エミュレーション)
③IEページB の入力欄に値を設定後に、TABで次の入力欄に移動(エミュレーション)
④Excelに「登録しました」と値を設定
⑤行カウント+1
◇ループ終了◇
IEの1画面には20個ほど入力欄があり、その入力欄すべてに値を設定する必要があります。
Excelの行と対応しているため単純に上から順に転記をしていく処理です。
=========================================
★課題点★
TAB移動の際に稀に、カーソルが、次の入力欄ではなくIE画面上部のURLの入力欄に飛んでしまいます。
すべて正常に動作する場合もあれば、URLの入力欄に飛んでしまう場合もあります。
一回でもURLの入力欄にカーソルが当たってしまうとその後の転記は終了までURL入力欄からカーソルが動かなくなります。
★試してみたこと★
①指定時間待機を個々に追加
⇒結果は変わりませんでした。
②ウィンドウの前面化/アクティブ化を毎転記ごとに追加
⇒むしろ入力欄にカーソルが行ってしまう確率が高くなりました。
③ウィンドウ識別のクリアを追加
⇒結果は変わりませんでした。
④IEページA、IEページBそれぞれのページが重ならないようウィンドウサイズを固定(左と右に来るよう)
⇒むしろ入力欄にカーソルが行ってしまう確率が低くなりましたがまだ起こります。
⑤IEページA、IEページBそれぞれ単体で転記を実施
⇒入力欄にカーソルが行くことはなくなりました(理想形)。
しかし、都合上IEページAとBは交互に更新していく必要があります。
上記課題に関して皆様のお知恵をお貸し頂きたいです。。。
画面の切り替わりによってカーソル位置の保持が出来なくなっていることが原因と推測していますが、
これが原因かもしれない、これを試してみて
等々ありましたらどのような意見でも大丈夫ですのでコメント頂けると幸いです。


ウイルススキャン等ですね。。。
それは難しそうな内容ですが、他の常駐ソフトで停止しても構わないものは停止して動かしてみます!ありがとうございます!

手動で作業を行った時はTabキーでAからBへ移動することはできますか?

私の説明が分かりにくくてすみません。
AサイトからBサイトへ移動は特にエミュレーション等では行っておりません。
Aサイト内の入力欄で値を設定し、次の入力欄に移動した後
Bサイトの入力欄で値を設定し、次の入力欄に移動することの繰り返しです!
3つほどご提案です。
[1]アドレスバーを予め非表示にしておいたら安定しますか?
[2]ネックのアドレスバーを逆手にとって、「F6」をうまいこと活用できないでしょうか。
F6の動作
- アドレスバーとコンテンツのカーソル切り替え
- アクティブフレームの順送り
「アドレスバー(もしくはコンテンツフレーム)からn回Tab移動した入力欄」が一意であれば、カウンタとの併用で目的の欄を確実にアクティブにできそうです。
[3]2つのIEの切り替えがうまくいっていないようでしたら、この順でうまくいきますか。
- (①②④⑤)繰り返し
- ②のIEをSubmit
次に
- (①③④⑤)繰り返し
- ③のIEをSubmit

3つも提案して頂きありがとうございます(p゚∀゚q)!
参考にして解決できました!
検証結果です。
[1]アドレスバーを非表示
→F11を押して全画面表示するという事ですかね?
全画面表示で試したところ、画面1つの場合は上手くいきますが、A/Bサイト2つを扱うとなると片方しか全画面表示が出来ずエラーとなってしまいました。。
[2]F6を使用する
これをヒントにしたら解決できました!!
F6…知らなかったです。
そもそもアドレスバーとコンテンツフレームで分かれていることを知らずという事でした。F6でも解決できそうでしたが、コンテンツフレームをアクティブにする画像マッチングを毎回入れることで解決できました!!
[3]シナリオの順序入れ替え
入れ替えても改ざんされませんでした。
切り替え事態は今回のエラーには関係なかったようです。

少しお力になれたようで良かったです。
アドレスバー非表示はこの辺りが詳しいです。
http://www.token-c.com/announce/image/ie11_guide.pdf
http://cotoapli.jp/nsl/130705-2up.html
皆様
お知恵をお貸し頂きましてありがとうございました。
皆様に助言頂きました内容を一通りためし解決できました。
サイトA/サイトBでTABを押す前に、それぞれのウィンドウのタイトルバーの所を画像マッチでクリックするようにしたところしっかり次の入力欄へ進んでくれました。
TABをエミュレーションで行う時に限って、たまに画面のコンテンツフレームではなくアドレスバーの方へ飛んでしまうことがあるのですね。。。カーソルがアドレスバーに行ってしまった場合もコンテンツフレームの方のカーソル位置は残ったままでした。
今まで、エミュレーション中に座標での左クリックを入れることに意味はないと思っていましたが、コンテンツフレームをアクティブにする意味があったのですね。勉強になりました。
皆様ありがとうございました!!
IEモードが利用できない理由がわからないので、これといった回答が返せないのですが、
自動記録アクションの「文字列設定」で、ウィンドウ識別だけした後、詳細設定は自分で行う、という方法も難しいでしょうか?
だとしたら、スマートな方法ではないですが、画像マッチングで入力欄をクリックする、という方法が安定するような気がします。

sakuさん
コメントありがとうございます。
IEモードが使用できない理由としてはタグIDなどが取れないためです。
恐らくJavaScriptなどで画面が作成されているのが原因です。。。
入力欄は表形式にになっているのですが、表に値設定系も使えませんでした。。
また、実は入力欄の個数ですが可変になります。20個の時もあれば30個の時もあります。。そのため画像マッチングを利用するのも難しい状況です。。。

タグ情報はIEデバックのライブラリでも出力できない、ということですか?

デバッグライブラリでは試していないので試してみます!
思いついたものとしては
他の常駐ソフト(ウィルススキャン等)がシナリオの動作中(WinActorがウィンドウを捕まえてからTabを押す前等)にアクティブになって、
それが邪魔をして想定しない動作をしているとかですかね。。
URLの入力欄に移動する理由とはまだ紐づいていないですが。。