LoginSignup
11
9

More than 5 years have passed since last update.

Selectorの意外と知られてなさそうな事。

Last updated at Posted at 2018-12-02

この記事ではSelectorについて意外と知られていないのでは?と思っている事を書きました。

一致するものが複数ある場合、その中で最前面にある画面要素に対して作用する。

Selectorは画面の中で一意になるところまで絞り込む必要はありません。ただ、同じSelectorの画面が複数表示されている場合、一番前面にあるSelectorの条件を満たす画面要素をSelectします。

アプリケーション横断的なSelectorを作る事ができる。

下記Selectorはタイトルに無題が含まれていればどのようなアプリケーションでもSelectします。
<wnd omit:app='notepad.exe' cls='*' title='*無題*' />
キーとなっているのは対象アプリに対してomitしている事です。「無題」というタイトルのExcelファイルやメモ帳どちらに対しても作用可能です。一つ前のトピックで話した通り、より前面にあるアプリケーションを指定します。

UiElement型から取得できる。

UiElement型はFind Activityなどを使うと取得できますが、こちらをSelectorに戻す事が可能です。方法としては取得したUiElement型のSelectorメソッドを使い、さらにToStringメソッドを使えば、Clickアクティビティで使えるSelector文字列が作られます。elementという変数の場合であれば、たとえば下記操作になります。
element.Selector.ToString

終わりに

画面要素取得はSelectorを使いFindアクティビティでUiElement型の変数を取得したあと、Find Childrenアクティビティで子要素を取得したり、Get Ancestorアクティビティで親要素を取得する事も可能です。Selector、及びUiElement型について詳しくなる事で、取りにくい画面要素を取得できるようになります。ぜひSelectorやUiElementで様々な事を試してみてください。

11
9
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
11
9