UiPath Academyに少しだけ登場したHover(ホバー)アクティビティ。
Selectorで掴んだオブジェクトの上にマウスカーソルを移動する、というものですが
マウスオーバーするだけのコイツの使い道が思い浮かばない。
使い道を模索してみます。
Drag & Drop ←没
※結論から言うとHover要りませんでした。
UiPath Community Forumを検索して見つけたのがDrag & Drop。
- Click (CLICK_DOWN) でDragしたいオブジェクトを掴み、
- Hover でDropしたい場所の上まで持ってきて
- Click (CLICK_UP) でオブジェクトを放す。
というもの。なるほど。
早速この理屈で「デスクトップ上に散らばったPDFファイルをゴミ箱に捨てるロボ」を作ってみた。
でもよく考えたら2.と3.のSelectorが同じになるので、1.と3.だけで十分な気がしてきた。
2.を外してみた。
できた…しかもHoverを挟まないぶん速い…Hoverいらない子すぎる・・・
というわけで、
- Click (CLICK_DOWN) でDragしたいオブジェクトを掴み、
- Click (CLICK_UP) でDropしたい場所の上でオブジェクトを放す。
でDrag & Dropは実現可能でした。
マウスオーバープルダウン ←没
※これもHover要りませんでした。
jQueryでおなじみ、マウスオーバーで表示されるプルダウンの選択はどうか。
人間の操作であれば、↑の「エリア紹介」をクリックするには
親メニューの「東京の楽しみ方」をマウスオーバーする必要があるので
- Hover で「東京の楽しみ方」にマウスオーバー
- Click で「エリア紹介」をクリック。
でも実現可能ですが、実際はHover使わず2.だけでいけました。
マウスオーバー前から裏のHTMLに情報持ってるから直接Selectorで掴めるのでしょうね。
結論:マウスオーバーからのポップアップ情報取得
現時点でたどり着いた使い道。
例えばこれ。NEXCO中日本が運営しているiHighwayから、高速道路の事故情報を取得します。
(地図上の**[×]**マークにマウスオーバーすると、その地点の事故情報がポップアップ表示される)
- Find Image Matchesで[×]マーク検出(検出した数だけUiElementのリストが返る)
- 取得したUiElementにHoverでマウスオーバー(→ポップアップが表示される)
- Get Textでポップアップから事故情報取得
※Get Textの編集でポップアップを選択する必要があるのですが、
Indicate on screen中(対象が青くなるアレね)はポップアップは出てこないので、
実行した結果がこちら。全ての画面上の事故情報が拾えています。
今回はここまで。
HTMLベースのサイト操作ではわざわざHover使わなくてもなんとかなる事が多いので、
あと思いつくのはFlashを使ったブラウザゲームの操作でしょうか。