【WinActor】ChromeやEdge(IE)などでよく使うクリック方法
皆さんこんにちは!開発エンジニアのYYです。
私は普段、WinActorを用いてお客様先の業務自動化を支援しております。
今回は、WinActorの基本動作である「クリック」についてお話ししていきます。
一口にクリックと言っても、様々なクリック方法があり、またそれぞれにメリット・デメリットがあったり、
各サイトに適したクリックの方法があったりします。
その中でも今回は、私の普段の開発でよく使用するクリック方法や、
最近になって初めて知った便利な方法などに絞ってご紹介いたします。
■①XPathクリック
この方法が、汎用性が高く、個人的に一番使用するクリック方法になります。
これは、WEBページ内の各要素に設定された「XPath」を使用してクリックする方法です。
XPathは、基本的にはXML文書の要素を指定するための言語ですが、Webページの要素を指定するためにも使用できます。
XPathをWEBページから簡単に取得する方法としては、操作対象としたい画面で「F12」を押してデベロッパーツールを起動し、
「セレクトモード」を開く事で対象要素のXPathをコピーする事が出来ます。
▼スクリーンショットの下半分がデベロッパーツール、赤枠が「セレクトモード」アイコン
また、これは最近初めて知った方法なのですが、やり方を少し工夫すると、
WEBページ内の特定の「テキスト」を指定してクリックすることもできます。
テキスト指定を行う場合は、ページ内に同一のテキストが無いか等を注意して実施する必要があります。
- メリット
・柔軟性が高い:WEBサイト上の更新などで要素の位置が変わった場合でも、
XPathを変更することで正確にクリックすることができたり、複雑な要素を選択できたりします。
・精度が高い:要素を一意に特定することができるため、他の要素を誤ってクリックする事が少なく、
精度が高いという特徴があります。
- デメリット
・XPathの記法が難しい:プログラミング初心者がXPathを取り扱うときは記法が特徴的であるため、
慣れるまで時間が掛かる可能性があります。
また、サイトによってはXPathが複雑になるケースもあるので理解するのが大変な場合もあります。
・動的なWEBページへの対応が難しい:XPathはHTML構造やWEB内の属性値を基にして要素を特定するため、
動的に変化するページの場合は対応が難しくなります。
- ライブラリ設置場所
<Ver7.4.0>ライブラリタブ>23_ブラウザ関連>03_クリック>クリック
<Ver6.3.2>ライブラリタブ>23_ブラウザ関連>クリック
■②画像マッチングでのクリック
WEBページ内のスクリーンショットをWinActorに記憶させ、それを基に類似した画像を検索して、要素をクリックする方法です。
要素の位置が一定の箇所で定まっていない場合や、要素が画像である場合にこの方法が有効です。
- メリット
・汎用性の高さ:画像マッチングは、他のクリック方法と違い、様々なアプリケーションやWEBページで使用する事が出来ます。
特定のプログラムに依存する事が無いので、幅広い作業に対応しています。
実際、業務では特有のアプリケーションを使用されているお客様も多いので、
画像マッチングでのクリックを多用する事もあります。
- デメリット
・環境依存性の高さ:画像マッチングは、ウィンドウの比率、画像の解像度、色調、明るさ、対象物の位置など、環境に依存します。
Aさんの端末では動作したのに、Bさんの端末では動作しなかった、というようなことが発生する事がよくあります。
端末をRPA用で準備している場合でも、テスト環境と本番環境で画面比率などを合わせる必要はどうしても発生してきます。
・正確な画像選択が必要:画像マッチングは、正確な操作を行うために必要な画像を選択する必要があります。
正確な画像を選択できない場合、正確な操作が行えなくなる可能性があります。
その為、操作対象画面の中で一意になる部分を慎重かつ確実に選択する必要があります。
・画像が表示されている必要がある:実際に操作する画面に画像が表示されていないといけないので、
WEBページですと画面表示まで待ち時間を設定する必要があります。
- ノード設置場所
ノードタブ>アクション>画像マッチング
■②’画像マッチングでのクリック+座標でのクリック箇所指定
②でご紹介した、「画像マッチングでのクリック」から派生して、
画像マッチングでのクリックと座標指定でのクリックを組み合わせた方法もあります。
画像マッチングは、元々WinActorに記憶させ、それと合致した箇所を探しに行く処理ですが、
合致した箇所を起点として、クリックする座標をさらに指定する事が出来ます。
クリックしたい要素は他のクリック処理では操作できないが、単純な画像マッチングでは同じ画面内に
似たような場所がありピンポイントではクリックできない、といったような場合に有効な方法となります。
■最後に
いかがでしたでしょうか?
今回はWinActorの基本動作である「クリック」について、私の開発経験を元におすすめの方法を
メリット・デメリット交えてお話させていただきました。
お話ししてきた中で、一番安定している方法というのは少し難しいですが、
私の開発経験として一番汎用的に使えるかつ正確性が高い方法は、「①XPathクリック」だと思います。
環境依存も少ない、全体的に見たときに設定もしやすい、メンテナンスも画像マッチングに比べたら少なくて済む、
等の面でやはり便利です。
もちろんお客様が使用されているサイト毎に特性があるかと思いますので、
そこを見極めて方法を選択していく事が一番大事な点だと思います。
弊社では経験豊富な開発者が多数おりますので、もしご興味がございましたら是非弊社にご相談ください。