見出し画像

画像とXpathの二刀流:WEB操作のためのスマート自動化術

はじめに

皆さんこんにちは、Robo-SATディレクターの下村です。
前回のディレクターブログでは画像を使った条件分岐についてお話がありましたね。
今回はEzAvaterの強みである画像認識を有効活用するための応用テクニックをお伝えいたします。

Xpathと画像認識の基本

WEBブラウザの操作を行う場合、Xpath操作か画像認識での左クリック操作で処理を進めることが多いと思います。
そんな時によくご質問をいただくのが、Xpath操作と画像認識どっちが安定するんですか?という話です。

正直一長一短ありますので、こっちがいいですと言いけれず、我々も困ってしまうのが事実です。
ただ、エラーを回避するという観点でお話すると、両方使うというのがお勧めです。

画像認識の特徴

  • 長所:難しい知識が無くても簡単に設定ができる。WEBの作りに影響されない。

  • 短所:流動的な処理ができない。画面解像度や画像の変更に影響される。

Xpath操作の特徴

  • 長所:画面の解像度や見た目の変化に影響されない。Xpath内に変数を設定することでクリック箇所を流動的にできる。

  • 短所:HTML等内部の作りが変わると影響がある。EzAvaterブラウザで設定できない場合に知識が必要。

併用によるエラー回避のテクニック

では、併用するというのはどういうことなのか解説します。
例えば、WEBページにアクセスしてダウンロードボタンをクリックする操作をしたいとします。

まずはXpathを使ったリンククリック操作を設定します。
もしこの操作がエラーになった場合は左クリック操作を行うという二段構えにすることができます。

実装手順

単純に二つの操作を連続させてしまうと、Xpath操作が完了した場合は左クリック操作が余計になってしまいますね。
ここでエラー処理を使います。
エラー処理では指定したラベル行で起きたエラーを無視することができます。

リンククリック操作にエラー処理というラベルを設定します。
次の行には式で条件分岐を設定します。
EzAvaterでは直前の処理結果を変数として取得するようになっています。
成功した場合はTrue、失敗した場合はFalseと値が格納されます。
この処理結果を元に、成功した場合は左クリックをせずに処理を継続、失敗していた場合は、左クリックを行い処理を継続するという分岐を作ることができます。

まとめ

Xpath操作と画像認識を併用することで、予期せぬエラーを効果的に回避することが可能です。
各々の長所を生かしつつ、短所を補うこの方法は、複雑なWEB操作を自動化する際に大きな強みとなります。

Robo-SATを使った自動化プロジェクトにおいて、このテクニックを活用してさらなる効率化を目指しましょう。

この記事が気に入ったらサポートをしてみませんか?