アプリ操作でうまくいかないときは(要素マッチング)2

アプリ操作の設定で要素マッチングにしたときに、操作したい個所を選択できないことはないでしょうか。そういった場合は、以下の手順をお試しください

このようなケースは、アプリケーションのツールバーにあるボタンを押して表示されるメニュー内のボタンを操作したいときによく発生します。

apli2_1

1.起動中のアプリに接続アクションを使い、表示されたメニューに接続します。このときに、一覧更新ボタンで5秒後に更新を使って、メニューが表示された状態で一覧を更新します。

apli2_2

2.接続後、アプリの操作画面が自動的に表示されます。このときにメニューを表示させ、アプリの操作画面内にメニューが表示されるようにします。

3.アプリの操作画面に表示されなかった場合は、アプリの操作画面内の画面を読み込み機能を使います。このときに、5秒後に再読み込みを使って、メニューが表示された状態を読み込みます。

apli2_3

以上の手順で要素マッチングで操作個所を指定できない場合は、マッチング方式を画像にしてアクションを作成していただくか、もしくはサポートまでご相談ください。

単純LOOP

設定した繰り返し回数まで単純ループアクション以降のアクションを繰り返し実行します。

アクション設定画面の設定項目についての説明は以下の通りです

[Mainタブ]

・繰り返し回数
後続のアクションを繰り返し実行する回数を入力します。変数参照可能です。

[Advancedタブ]

・アクション有効
このアクションを無効にする場合は、チェックを外します

[エラー発生時の対応タブ]

・エラー時の処理
ハンドリングの設定を行います

・エラー時にログ出力
ログに出力するか設定します

キャプチャー

アプリ操作による要素マッチングで、指定した要素のキャプチャをファイルに保存できます。

アクション設定画面の設定項目についての説明は以下の通りです

[Mainタブ]

・要素が見つかるまでのタイムアウト(秒)
設定した時間まで、選択した要素をロボットが探し続けます

・Path
キャプチャを保存するファイルパスを設定します。変数参照可能です。

[advancedタブ]

・アクション有効
このアクションを無効にする場合は、チェックを外します

・キャッシュクリア
アクション実行時に、要素の情報を再取得するときにチェックを入れます。

・要素をアクティブにする
アクション実行時に、指定した要素をアクティブな状態にする場合にチェックを入れます

・名前
要素を名前で指定するときに設定します。変数参照可能です。
変数参照する場合はチェックボックスにチェックを入れてから、参照する変数の設定を行います

・クラス
要素をクラスで指定するときに設定します。

・タイプ
要素をタイプで指定するときに設定します。

・AID
要素をAIDで指定するときに設定します。変数参照可能です。
変数参照する場合はチェックボックスにチェックを入れてから、参照する変数の設定を行います

・要素インデックス
要素のインデックスを指定します。変数参照可能です

[エラー発生時の対応タブ]

・エラー時の処理
エラーが発生したときの設定を行います

・エラー時にログ出力
エラーが発生したときにログに出力するか設定します

要素のループの便利な使い方

要素のループは設定の仕方によっては、より便利に使うことができます。

以下のような各都道府県ごとに分かれている店舗リストがあります。この店舗名をすべて要素のループアクションを使って取得します

loop1

要素のループアクションを作成しました。

loop2

以下の赤で囲った東京の部分しか、ループの対象になりません。大阪や愛知をループの対象に入れるにはどうしたらいいのでしょうか。

loop3

取得範囲の設定を拡張した範囲の要素にすることで、大阪や愛知もループの対象にすることができます。

loop4

またxpathの除外を使えば、ループの対象から外すこともできます。

loop5

xpathを使えば、ループの対象にしたいものだけをピックアップすることもできます。

loop6.png

表示値のフィルターを使っても、ループの対象にしたいものだけをピックアップすることができます。

loop8

 

またxpathへ以下のような書き方をすることで、ループの対象を絞ることもできます。

以下では、classがhistListData pauseのものだけをループの対象にしています。

loop9

 

 

 

アプリを繰り返し操作する

アプリの一覧内の行をクリックし、詳細な情報を取得しエクセルへ入力しています。この一連の操作を繰り返し行っています。一覧内の行の指定をインデックスで行うことで、簡単に繰り返しを設定することができます。

行をクリックするアクションで、どの行をクリックするかインデックスを変数参照させます。

1行目をクリックして処理をしたのちに、参照している変数へ1を加算することで2行目が処理されます。

繰り返し処理の最後に終了条件を付けることも必要です。検索結果の件数を繰り返し処理の前に取得し、繰り返し処理内の最後にエクセルに書き込んだ件数と検索結果の件数を比較して、件数が一致したら繰り返し処理をやめるように設定しています

親ロボットに戻る

カスタムアクション内でエラーが発生したとき、呼び出し元のロボットでエラーとして扱う方法について説明します

アクション設定画面の設定項目についての説明は以下の通りです

[Mainタブ]

・戻り値

>正常
カスタムアクションの呼び出し元のロボットへ正常を返します。呼び出し元のロボットはカスタムアクションが正常に処理されたとして後続の処理を行います

>エラー
カスタムアクションの呼び出し元のロボットへエラーを返します。呼び出し元のロボットはカスタムアクションでエラーが発生したとしてエラーハンドリングの設定内容を行います

[Advancedタブ]

・アクション有効
このアクションを無効にする場合は、チェックを外します

[エラー発生時の対応タブ]

・エラー時の処理
エラーが発生したときの設定を行います

・エラー時にログ出力
エラーが発生したときにログに出力するか設定します

最終セルの情報取得

エクセル内の値が入っている最終セルの場所を取得する方法について説明します。保存済のエクセルへ取得したデータを追記していくとき、最終行のセルの位置を取得する必要があります。そんなときにこのアクションを使って、最終行のセルの位置を取得します

アクション設定画面の設定項目についての説明は以下の通りです

[Mainタブ]

・シート名
名前、インデックス、変数参照から選択して設定を行います。

 >名前
操作対象のシートをプルダウンで選択します

 >インデックス
操作対象のシートは作成された順番にインデックスが定義されています。プルダウンで選択します。

 >変数参照
操作対象のシート名が格納されている変数を設定します

・基点となるセル
最終セルを探すときに、探す処理の基点となるセルを指定します

・最終行
取得した最終行のセルの位置を格納する変数を指定します

・最終列
取得した最終列のセルの位置を格納する変数を指定します

[Advancedタブ]

・ブックインデックス
開いているエクセルのうち、どのエクセルを操作対象にするか選択します。エクセルが開かれた順番にインデックスが定義されます。ブックインデックスを変更した場合、シート名が処理対象のシートになっていることを確認しましょう

・実行時にシートを切り替える
アクションを実行したときにシートを表示する場合にチェックを入れます

・アクション有効
このアクションを無効にする場合は、チェックを外します

[エラー発生時の対応タブ]

・エラー時の処理
エラーが発生したときの設定を行います

・エラー時にログ出力
エラーが発生したときにログに出力するか設定します

まとめ1

Webサイトから取得したデータをエクセルへ貼り付けていきます。

以下ページからデータを取得して、エクセルに貼り付けます。

 

matome9

以下のようなロボットを作成します。

matome1

1.エクセルを新規作成します

matome3

エクセルの新規作成アクション

matome1_1

2.ブランチを追加します

matome4

3.ブラウザを起動して、本マニュアルサイトのトップページを開きます

matome5.png

ブラウザを起動アクション

matome3_1

ページを開くアクション

matome3_2

4.学習コンテンツの「アクション作成編」を開きます

matome6

マウス操作アクション

matome4_1

5.要素のループアクションを使い、繰り返し処理を設定します

matome7

要素のループアクション。開始行を2行目からにしています

matome5_1

6.値の取得を行います

matome8

値の取得アクション。表示されているテキストを取得して、変数に格納します

matome6_1

7.ブランチを追加します

matome10

8.変数の値を加工を使って、エクセルへの貼り付け位置を加工します

matome11

変数の値を加工アクション。エクセルの貼り付け位置の行を加工し、変数へ格納します

matome12

9.エクセルへ値を入力します

matome13

値の入力アクション。行番号は8で使用した変数、入力値は6で使用した変数をそれぞれ参照します

matome9_2

10.ブランチを作成します

matome14

11.エクセルを保存します。アクションを実行した日を取得し、保存先のフォルダ名やファイル名と組み合わせ保存先を指定しています

matome15

matome15_1

ロボットはこちらからダウンロードできます。