はじめに
Chromeの操作をUiPathで実装したのですが、他のタブをすべて閉じるのに意外と苦労したので記録として残します。
結論
アクティビティの「タブを閉じる」ではなく、Chromeの機能である「ほかのタブをすべて閉じる」を使って
今開いているタブ以外をすべて閉じます。
前提
ChromeにUiPathの拡張機能を入れておく
アクティビティの「ブラウザにアタッチ」を使用するために、Chromeの拡張機能追加が必須になります。
実際にやってみた
今回の実装
こんな感じで作ってみました。
汎用性を持たせるなら、相対要素の取得部分は外だししてもいいかもしれません。
フロー内での「メニューバー」はこいつのことです。
全体
簡単なな流れとして、
- ブラウザにアタッチする
- 今開いているタブを相対要素として取得
- タブ上で右クリックでメニューを出現させる
- メニューない「ほかのタブをすべて閉じる」でタブを閉じる
ということを本フローで行っています。
ブラウザにアタッチの中身
備考(要検証)
今回試したのはChromeですが、Edgeにも「ほかのタブを閉じる」機能があるので、同じ感じでいけると思います。
検証したらまた追記します。
動かした
無事にタブを閉じることができました。
おわりに
なんてことないだろ…と思っていた操作が意外と頭使ったので、自分としても非常に勉強になりました。
(当初タブの個数取得→都度タブ閉じる?想定しているウィンドウはどう判断する?事前に変数でとっとく?とかぐるぐるかんがえてました)
今後も励んでいきたいと思います。
ここまでお読みいただきありがとうございました。