Enterprise Blue Ocean ◮

神谷町RPAブログ

  • Blue Prism の製品概要がよくわかるWebページ動画取材記事
  • Blue Prism の Azure フリー・トライアルの利用手順はこちら
  • Blue Prism でExcelを操作する記事はこちら
  • Blue Prism のベストプラクティス記事はこちら
  • Blue Prism のユーザー・コミュニティこちら。ぜひご参加ください☆

Blue Prism で Internet Explorer の複数タブを操作する

「私は技術者です」

・・・言うのは簡単だが、本当に技術で飯を食うっていうのは、

ハードル高いよなぁ。。

 

Internet Explorer と Attach: 延長戦

前回、Internet Explorer と Attach について書きました。

www.ebocean.work

いろいろクドクドと書いてますが、

要するに Internet Explorer については、 Child Index = 0 にしよう、という話です。

 

・・・では、タブが複数ある場合はどうするのでしょうか。

具体的には以下のような質問です。

teratail.com

 

Internet Explorer のプロセスを Process Explorer で見てみる

・・・見出しが紛らわしい!

Child Index = 0 にすると、どうやら iexplore.exe のマネージ プロセスを見ているようですが、

(PIDを決め打ちして Attach すると、確認できます)

試しに、その時の iexplore.exe とウィンドウ・タイトルの関係を、Process Explorer で見てみます。Process Explorer については、以下を参照ください。

www.ebocean.work

例えば、以下のように IE で2つのタブを立ち上げます。

アクティブなタブは、左側の MSN のWebサイトです。

f:id:EnterpriseBlueOcean:20190319215005p:plain

このとき、iexplore.exe とウィンドウ・タイトルの関係は以下のようになっています。

f:id:EnterpriseBlueOcean:20190319215035p:plain

マネージ プロセス(PID = 10720)側にウィンドウ・タイトルが出てますね。

じゃあ、右側の Yahoo のWebサイトが表示されるタブをアクティブにすると、

f:id:EnterpriseBlueOcean:20190319215116p:plain

iexplore.exe とウィンドウ・タイトルの関係は以下のようになります。

f:id:EnterpriseBlueOcean:20190319215138p:plain

マネージ プロセス(PID = 10720)のウィンドウ・タイトルが切り替わってますね。

したがって、新しいタブが出てきたとしても、きちんと選択されていればChild Index = 0 のままで、HTMLモードで認識・操作が可能だと思います。

 

複数のウィンドウが立ち上がった場合はどうなの?

ここがちょっとよくわからない・・・

(ひとつのIEから新しいウィンドウが立ち上がる場合は、

 新しいタブと同じ扱いです。

 よくわからないのは、全く野良で立ち上がったIEの画面の場合)

一応、PIDを決め打ちにすると、複数の Internet Explorer のマネージ プロセスを Attach できるので、複数の Internet Explorer を HTMLモードでスパイできます

ただ、PIDは実行時に変わってしまうはずなので、このやり方は実験的にしか使えない・・・

なんか良い方法があれば、ぜひ、お教えください。

コメント、歓迎です。

 

まとめ

  • やっぱり Internet Explorer については、Child Index = 0 にしよう
  • Child Index = 0 のままで、複数タブも処理できる(たぶん)
  • 複数の Internet Explorer を立ち上げて、マネージ プロセスをつかむことは可能だが、あんまり良い方法がわかってない

・・・今回の記事は、とてもじゃないが、技術者が書くような出来ではないですね。

まだまだ、精進あるのみ。