(57)【特許請求の範囲】
【請求項１】
対象処理を自動化するためのシナリオに沿って自動的に処理を行う情報処理プログラムであって、
コンピュータを、
自動化する操作対象となるオブジェクトと当該オブジェクトに対する操作内容を記録した前記シナリオと、当該オブジェクト毎に当該オブジェクトを特定するために設定された複数の条件と、を参照して、
前記条件の少なくとも１つを満たすオブジェクトを操作対象となるオブジェクトとして特定し、前記シナリオに沿って当該オブジェクトに対する前記操作内容を自動的に実行するシナリオ実行手段として機能させ、
前記シナリオ実行手段は、前記条件が前記オブジェクトを表示したときの画像である場合、当該画像が表示された表示画面内に存在するか否かを検索し、前記表示画面内に当該画像が存在するときには当該画像の前記表示画面内の座標を取得し、当該座標から前記オブジェクトのＨＴＭＬの構成要素を特定し、当該構成要素に応じて当該オブジェクトに対する処理を自動的に実行することを特徴とする情報処理プログラム。
【請求項２】
請求項１に記載の情報処理プログラムであって、
前記条件を使用するか否かをユーザが選択可能であることを特徴とする情報処理プログラム。
【請求項３】
請求項１又は２に記載の情報処理プログラムであって、
前記条件は、前記オブジェクトに対するＣＳＳセレクタ、前記オブジェクトの画面上の座標、前記オブジェクトを表示したときの画像の少なくとも１つを含むことを特徴とする情報処理プログラム。
【請求項４】
請求項１〜３のいずれか１項に記載の情報処理プログラムであって、
前記シナリオ実行手段は、前記条件のすべてが満たされなかった場合にその旨を表示することを特徴とする情報処理プログラム。
【請求項５】
請求項１〜４のいずれか１項に記載の情報処理プログラムであって、
前記シナリオ実行手段は、前記条件のうち満たされなかった条件を表示することを特徴とする情報処理プログラム。
【請求項６】
対象処理を自動化するためのシナリオに沿って自動的に処理を行う情報処理装置であって、
自動化する操作対象となるオブジェクトと当該オブジェクトに対する操作内容を記録した前記シナリオと、当該オブジェクト毎に当該オブジェクトを特定するために設定された複数の条件と、を参照して、
前記条件の少なくとも１つを満たすオブジェクトを操作対象となるオブジェクトとして特定し、前記シナリオに沿って当該オブジェクトに対する前記操作内容を自動的に実行するシナリオ実行手段を備え、
前記シナリオ実行手段は、前記条件が前記オブジェクトを表示したときの画像である場合、当該画像が表示された表示画面内に存在するか否かを検索し、前記表示画面内に当該画像が存在するときには当該画像の前記表示画面内の座標を取得し、当該座標から前記オブジェクトのＨＴＭＬの構成要素を特定し、当該構成要素に応じて当該オブジェクトに対する処理を自動的に実行することを特徴とする情報処理装置。
【請求項７】
対象処理を自動化するためのシナリオに沿って自動的に処理を行う情報処理方法であって、
自動化する操作対象となるオブジェクトと当該オブジェクトに対する操作内容を記録した前記シナリオと、当該オブジェクト毎に当該オブジェクトを特定するために設定された複数の条件と、を参照して、
前記条件の少なくとも１つを満たすオブジェクトを操作対象となるオブジェクトとして特定し、前記シナリオに沿って当該オブジェクトに対する前記操作内容を自動的に実行するシナリオ実行ステップを備え、
前記シナリオ実行ステップでは、前記条件が前記オブジェクトを表示したときの画像である場合、当該画像が表示された表示画面内に存在するか否かを検索し、前記表示画面内に当該画像が存在するときには当該画像の前記表示画面内の座標を取得し、当該座標から前記オブジェクトのＨＴＭＬの構成要素を特定し、当該構成要素に応じて当該オブジェクトに対する処理を自動的に実行することを特徴とする情報処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、処理を自動化するための情報処理プログラム、情報処理装置及び情報処理方法に関する。
【背景技術】
【０００２】
近年、コンピュータにおけるユーザの操作手順をシナリオとして記録して、当該操作手順を自動的に実行することでコンピュータにおける処理を自動化する技術が用いられている。このような技術は、ロボティック・プロセス・オートメーション（ＲＰＡ）と呼ばれている。
【０００３】
例えば、検索するべき文字列の画像を生成し、画像認識処理によって表示画面中から当該画像を抽出することで自動化操作する位置を特定する技術が開示されている（特許文献１）。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１８−１１６３９４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
ところで、操作を自動化する対象となるウェブページ上のアイコンやテキスト等のオブジェクトを特定する際に、従来技術の画像認識やユーザの操作を画面上の座標として記録しておく等の方法が採用されている。しかしながら、自動化する対象によって、どのような方法でアイコンやテキスト等のオブジェクトを特定するべきかは異なる。
【０００６】
そこで、本発明は、自動化する対象に適したオブジェクトの特定方法を提供することを目的の一つとする。
【課題を解決するための手段】
【０００７】
本発明の１つの態様は、対象処理を自動化するためのシナリオを作成する情報処理プログラムであって、コンピュータを、自動化する操作対象となるオブジェクトと当該オブジェクトに対する操作内容を前記シナリオとして記録するシナリオ記録手段と、前記オブジェクトを特定する条件を設定する条件設定手段と、して機能させ、前記条件は、１つの前記オブジェクトに対して複数設定可能であることを特徴とする情報処理プログラムである。
【０００８】
本発明の別の態様は、対象処理を自動化するためのシナリオを作成する情報処理装置であって、自動化する操作対象となるオブジェクトと当該オブジェクトに対する操作内容を前記シナリオとして記録するシナリオ記録手段と、前記オブジェクトを特定する条件を設定する条件設定手段と、を備え、前記条件は、１つの前記オブジェクトに対して複数設定可能であることを特徴とする情報処理装置である。
【０００９】
本発明の別の態様は、対象処理を自動化するためのシナリオを作成する情報処理方法であって、自動化する操作対象となるオブジェクトと当該オブジェクトに対する操作内容を前記シナリオとして記録するシナリオ記録ステップと、前記オブジェクトを特定する条件を設定する条件設定ステップと、を備え、前記条件は、１つの前記オブジェクトに対して複数設定可能であることを特徴とする情報処理方法である。
【００１０】
ここで、前記条件を使用するか否かをユーザが選択可能であることが好適である。
【００１１】
また、前記条件は、前記オブジェクトに対するＣＳＳセレクタ、前記オブジェクトの画面上の座標、前記オブジェクトを表示したときの画像の少なくとも１つを含むことが好適である。
【００１２】
また、前記コンピュータを、前記オブジェクトに対して前記条件毎を使用するか否かをユーザに設定させる条件設定画面を表示させる画面表示手段として機能させ、前記条件設定手段は、前記条件設定画面に対するユーザの操作を受け付けて、前記オブジェクト毎に前記条件を設定する処理を行うことが好適である。
【００１３】
本発明の別の態様は、対象処理を自動化するためのシナリオに沿って自動的に処理を行う情報処理プログラムであって、コンピュータを、自動化する操作対象となるオブジェクトと当該オブジェクトに対する操作内容を記録した前記シナリオと、当該オブジェクト毎に当該オブジェクトを特定するために設定された複数の条件と、を参照して、前記条件の少なくとも１つを満たすオブジェクトを操作対象となるオブジェクトとして特定し、前記シナリオに沿って当該オブジェクトに対する前記操作内容を自動的に実行するシナリオ実行手段として機能させることを特徴とする情報処理プログラムである。
【００１４】
本発明の別の態様は、対象処理を自動化するためのシナリオに沿って自動的に処理を行う情報処理装置であって、自動化する操作対象となるオブジェクトと当該オブジェクトに対する操作内容を記録した前記シナリオと、当該オブジェクト毎に当該オブジェクトを特定するために設定された複数の条件と、を参照して、前記条件の少なくとも１つを満たすオブジェクトを操作対象となるオブジェクトとして特定し、前記シナリオに沿って当該オブジェクトに対する前記操作内容を自動的に実行するシナリオ実行手段を備えることを特徴とする情報処理装置である。
【００１５】
本発明の別の態様は、対象処理を自動化するためのシナリオに沿って自動的に処理を行う情報処理方法であって、自動化する操作対象となるオブジェクトと当該オブジェクトに対する操作内容を記録した前記シナリオと、当該オブジェクト毎に当該オブジェクトを特定するために設定された複数の条件と、を参照して、前記条件の少なくとも１つを満たすオブジェクトを操作対象となるオブジェクトとして特定し、前記シナリオに沿って当該オブジェクトに対する前記操作内容を自動的に実行するシナリオ実行ステップを備えることを特徴とする情報処理方法である。
【００１６】
ここで、前記条件を使用するか否かをユーザが選択可能であることが好適である。
【００１７】
また、前記条件は、前記オブジェクトに対するＣＳＳセレクタ、前記オブジェクトの画面上の座標、前記オブジェクトを表示したときの画像の少なくとも１つを含むことが好適である。
【００１８】
また、前記シナリオ実行手段は、前記条件のすべてが満たされなかった場合にその旨を表示することが好適である。
【００１９】
また、前記シナリオ実行手段は、前記条件のうち満たされなかった条件を表示することが好適である。
【００２０】
また、前記シナリオ実行手段は、前記条件が前記オブジェクトを表示したときの画像である場合、当該画像が表示された表示画面内に存在するか否かを検索し、前記表示画面内に当該画像が存在するときには当該画像の前記表示画面内の座標を取得し、当該座標から前記オブジェクトのＨＴＭＬの構成要素を特定し、当該構成要素に応じて当該オブジェクトに対する処理を自動的に実行することが好適である。
【発明の効果】
【００２１】
本発明によれば、処理を自動化する際にオブジェクトを適切に特定することを可能とした情報処理プログラム、情報処理装置及び情報処理方法を提供することができる。本発明の実施の形態の他の目的は、本明細書全体を参照することにより明らかになる。
【図面の簡単な説明】
【００２２】
【図１】本発明の実施の形態における情報処理システムの全体構成の概略図である。
【図２】本発明の実施の形態におけるサーバの構成を示す図である。
【図３】本発明の実施の形態におけるクライアントの構成を示す図である。
【図４】本発明の実施の形態におけるシナリオ作成方法を示すフローチャートである。
【図５】本発明の実施の形態における第１表示部の表示例を示す図である。
【図６】本発明の実施の形態における第２表示部の表示例を示す図である。
【図７】本発明の実施の形態におけるメニュー画像の表示例を示す図である。
【図８】本発明の実施の形態における処理の選択肢を選択する処理を説明する図である。
【図９】本発明の実施の形態におけるシナリオを追加する処理を説明する図である。
【図１０】本発明の実施の形態における条件データベースの例を示す図である。
【図１１】本発明の変形例におけるシナリオ実行方法を示すフローチャートである。
【発明を実施するための形態】
【００２３】
本発明の実施の形態における情報処理システム１００は、図１に示すように、サーバ１０２、クライアント１０４及び情報通信網１０６を含んで構成される。サーバ１０２及びクライアント１０４は、情報通信網１０６（例えば、インターネット）を介して接続されており、クライアント１０４からサーバ１０２が提供するウェブページにアクセスすることができる。
【００２４】
なお、図１では、サーバ１０２を１つのみ示したが、複数のサーバ１０２が情報通信網１０６に接続されてもよく、それぞれの複数のサーバ１０２からウェブページが提供されるようにしてもよい。
【００２５】
サーバ１０２は、図２に示すように、処理部１０、記憶部１２、入力部１４、出力部１６及び通信部１８を含んで構成される。処理部１０は、ＣＰＵ等の演算処理を行う手段を含む。処理部１０は、記憶部１２に記憶されているウェブページ提供プログラム（例えば、サーバプログラム）を実行することによって、本実施の形態における情報処理システム１００においてクライアント１０４にウェブページを提供するための機能を実現する。記憶部１２は、半導体メモリやメモリカード等の記憶手段を含む。記憶部１２は、処理部１０とアクセス可能に接続され、ウェブページ提供プログラム、その処理に必要な情報を記憶する。入力部１４は、情報を入力する手段を含む。入力部１４は、例えば、管理者からの入力を受けるキーボード、タッチパネル、ボタン等を備える。出力部１６は、管理者から入力情報を受け付けるためのユーザインターフェース画面（ＵＩ）等のサーバ１０２での処理結果を出力する手段を含む。出力部１６は、例えば、管理者に対して画像を呈示するディスプレイを備える。通信部１８は、情報通信網１０６を介して、クライアント１０４との情報の通信を行うインターフェースを含んで構成される。通信部１８による通信は有線及び無線を問わない。
【００２６】
クライアント１０４は、図３に示すように、処理部２０、記憶部２２、入力部２４、出力部２６及び通信部２８を含んで構成される。処理部２０は、ＣＰＵ等の演算処理を行う手段を含む。処理部２０は、記憶部２２に記憶されているクライアントプログラムを実行することによって、本実施の形態における情報処理システム１００におけるウェブページに対する処理の自動化を実現する。記憶部２２は、半導体メモリやメモリカード等の記憶手段を含む。記憶部２２は、処理部２０とアクセス可能に接続され、クライアントプログラム、その処理に必要な情報を記憶する。入力部２４は、情報を入力する手段を含む。入力部２４は、例えば、ユーザからの入力を受けるキーボード、タッチパネル、ボタン等を備える。出力部２６は、ユーザから入力情報を受け付けるためのユーザインターフェース画面（ＵＩ）等のクライアント１０４での処理に必要な情報を出力する手段を含む。出力部２６は、例えば、ユーザに対して画像を呈示するディスプレイを備える。通信部２８は、情報通信網１０６を介して、サーバ１０２との情報の通信を行うインターフェースを含んで構成される。通信部２８による通信は有線及び無線を問わない。
【００２７】
サーバ１０２及びクライアント１０４は、一般に用いられるコンピュータ、すなわちＰＣ（パーソナルコンピュータ）、あるいはスマートフォンなどの携帯端末等とすることができる。また、以下におけるサーバ１０２の処理の一部又は全部をクライアント１０４において実現してもよいし、クライアント１０４の処理の一部又は全部をサーバ１０２において実現してもよい。
【００２８】
情報処理システム１００において、ウェブページに対する処理を自動化するためには、当該処理をコンピュータによって自動的に実行できる形式であるプログラム、コード、データ等を含むシナリオとして記憶させる処理とこのシナリオに沿って自動化処理を実行することが必要である。以下、コンピュータによって自動的に実行できる形式であるプログラム、コード、データ等を含むＲＰＡデータ（Ｒｏｂｏｔｉｃ  Ｐｒｏｃｅｓｓ  Ａｕｔｏｍａｔｉｏｎ  Ｄａｔａ）をシナリオと呼ぶ。例えば、ウェブブラウザに対する処理はＳｅｌｅｎｉｕｍ等のアプリケーションによって実行可能なシナリオとして記憶させることができる。
【００２９】
＜シナリオ作成処理＞
以下、図４のフローチャートを参照して、本実施の形態における情報処理システム１００によるウェブページに対する処理を自動化するためにシナリオを記憶させる処理について説明する。ウェブページに対する処理とは、ウェブページを構成する要素に対する操作（例えば、カーソル移動、クリック等）、テキスト等の情報の入力等のウェブページ上において行える操作やそれに伴う処理を意味する。
【００３０】
ステップＳ１０では、シナリオを記憶させるためのアプリケーションの起動処理が行われる。当該ステップにおける処理によって、情報処理システム１００は起動処理手段として機能する。クライアント１０４は、記憶部２２に記憶されているクライアントプログラムを実行することによってシナリオを記憶させるためのアプリケーションを起動する。
【００３１】
ステップＳ１２では、自動化する内容を編集するための編集部を含む第１表示部を表示する処理が行われる。当該ステップにおける処理によって、情報処理システム１００は第１表示部表示手段として機能する。ステップＳ１０におけるアプリケーションの起動に伴って、クライアント１０４の出力部２６に自動化する内容を編集するための編集部を含む第１表示部が表示される。
【００３２】
図５は、第１表示部２００の表示例を示す。第１表示部２００は、選択肢表示領域２０２、処理内容編集領域２０４及び処理内容入力領域２０６を含んで構成される。
【００３３】
選択肢表示領域２０２は、自動化する処理の選択肢を示す領域である。ユーザは、入力部２４を用いて選択肢表示領域２０２に表示されている選択肢の１つを選択する（例えば、マウスを用いて選択肢をクリックする等）ことによって自動化する処理を新たに追加することができる。処理の選択肢は、ウェブブラウザやウェブページに対する操作に伴う処理を含む。ウェブブラウザやウェブページに対する処理としては、ユーザから入力されたＵＲＬで特定されるウェブページを開く操作及びその処理、アクティブ状態にあるウィンドウのウェブページを更新する処理、ウェブページにおいてユーザが指定した領域にカーソルを移動させる操作及びその処理、ウェブページにおいてカーソルが位置する領域をクリックする操作及びその処理等が挙げられる。ただし、ウェブブラウザやウェブページに対する処理は、これらに限定されるものではなく、他の処理を選択肢としてもよい。
【００３４】
また、処理の選択肢は、ローカルで使用されるネイティブアプリケーションに対する処理であってもよい。ここで、本明細書においてネイティブアプリケーションとは、
1585635750732_0
内部の演算処理手段において
1585635750732_1
処理を行うアプリケーションを意味する。具体的には、ワードプロセッサアプリケーション、表計算アプリケーション等がある。
【００３５】
処理内容編集領域２０４は、自動化する処理の内容を表示及び編集するための領域である。すなわち、処理内容編集領域２０４は、シナリオとして記憶される処理を表示させる領域である。処理内容編集領域２０４は、シナリオとして記憶される処理をステップ毎のフローチャート形式で表示させることが好適である。自動化する処理の内容は、各操作や各処理を自動的に行う順にステップとして並べたシナリオとして記憶される。例えば、選択肢表示領域２０２において選択された選択肢に対応する処理が処理内容編集領域２０４に表示されると共に自動化する処理としてシナリオに追加される。また、後述するようにウェブページを表示させた第２表示部に対してユーザが行った操作や第２表示部において行われた処理が処理内容編集領域２０４に表示されると共に自動化する処理としてシナリオに追加される。また、ユーザは、入力部２４を用いることによって処理内容編集領域２０４に表示されている処理の内容を編集することができる。処理の内容の編集は、処理の順番の入れ替え、処理に用いられるデータの変更、処理に必要なパラメータの変更等が挙げられる。ただし、処理の内容の編集は、これらの編集に限定されるものではなく、自動化する処理に対するシナリオを編集するものであればよい。
【００３６】
処理内容入力領域２０６は、自動化する処理の内容を編集する際にデータやパラメータ等の自動化に必要な情報を入力するための領域である。処理内容入力領域２０６には、処理内容編集領域２０４において編集対象である処理に必要な情報を入力するための入力インターフェース画像が表示される。ユーザは、入力部２４を用いて、処理内容入力領域２０６に必要な情報を入力した上で情報を確定することによってシナリオとして記憶される処理が設定される。
【００３７】
なお、本実施の形態では、選択肢表示領域２０２、処理内容編集領域２０４及び処理内容入力領域２０６を１つの画面上に同時に表示させるものとしたが、空間的又は時間的に別々に表示させるようにしてもよい。例えば、選択肢表示領域２０２、処理内容編集領域２０４及び処理内容入力領域２０６を別々のウィンドウとして表示させるようにしてもよい。また、例えば、選択肢表示領域２０２、処理内容編集領域２０４及び処理内容入力領域２０６の各々について必要なときにだけポップアップするウィンドウとして表示させるようにしてもよい。
【００３８】
例えば、シナリオにウェブページを開く処理を登録する場合、図５に例示するように、選択肢表示領域２０２において「ウェブページを開く」を選択（クリック）する（図中、選択されたことを示すためにハッチングを施して示す）ことで処理内容編集領域２０４に新たにシナリオに記憶させる処理として表示される。これと共に、処理内容編集領域２０４において現在編集中である処理（ステップ）として、処理に関連する情報を入力するための入力インターフェース画像が処理内容入力領域２０６に表示される。ここでは、「ウェブページを開く」という処理に付ける名称、対象であるウェブページを特定するためのＵＲＬ、ウェブページを開く処理についてのオプションを入力するための画像が表示されている。名称を「ページＡを開く」、ＵＲＬを「ｈｔｔｐｓ：／ｗｗｗ．ｘｘｘ」として実行ボタンをクリックすると、処理内容編集領域２０４において編集対象となっている「ウェブページを開く」という処理（ステップ）に対して「ページＡを開く」という名前が付けられ、ｈｔｔｐｓ：／ｗｗｗ．ｘｘｘというウェブページを開く処理がシナリオとして記憶される。
【００３９】
このような操作を繰り返すことによって、自動化する処理をステップとして時系列に並べたシナリオが記憶部２２に記憶される。以下、本実施の形態では、ウェブページを開いて、当該ウェブページにおける処理をシナリオとして記憶させていく処理について説明する。
【００４０】
ステップＳ１４では、自動化の対象となるウェブページを表示するためのソースコードの取得処理が行われる。当該ステップにおける処理によって、情報処理システム１００はコード取得手段として機能する。処理部１０は、ステップＳ１２において自動化する処理の対象であるウェブページのＵＲＬが指定されると、情報通信網１０６を介してサーバ１０２にアクセスして指定されたＵＲＬで特定されるウェブページのソースコードを取得する。
【００４１】
ステップＳ１６では、自動化の対象となるウェブページにおいて選択可能な処理の選択肢を表示させるコードを埋め込む処理が行われる。当該ステップにおける処理によって、情報処理システム１００はコード埋込手段として機能する。処理部１０は、ステップＳ１４において取得されたウェブページのソースコードを解析して、当該ウェブページにおいて処理可能なタブに対して行われる処理をメニュー形式で表示させるためのコードを当該ソースコードに埋め込む処理を行う。
【００４２】
ステップＳ１８では、自動化の対象となるウェブページを表示する第２表示部を表示させる処理が行われる。当該ステップにおける処理によって、情報処理システム１００は第２表示部表示手段として機能する。処理部１０は、ステップＳ１６においてメニュー表示のためのコードが埋め込まれたソースコードに応じたウェブページを第２表示部としてウェブブラウザ上に表示させる。ウェブページを表示させるためのウェブブラウザは、既存のブラウザとしてもよいし、情報処理システム１００において専用のブラウザとしてもよい。
【００４３】
図６は、第２表示部３００の表示例を示す。処理部１０は、ＵＲＬ（当該例では、ｈｔｔｐｓ：／ｗｗｗ．ｘｘｘ）で特定されるソースコードをサーバ１０２から受信すると、当該ソースコードにメニュー表示のためのコードを埋め込んだうえで第２表示部３００として表示させる。
【００４４】
例えば、図６に示した第２表示部３００では、処理が可能な画像領域（図中では「アイコンＡ」）にカーソル３０２を移動させて右クリックすることによって、図７に示すように、埋め込まれたコードに基づいてアイコンＡというオブジェクトに対して可能な処理を選択肢として表示させるメニュー画像３０４が表示される。ユーザは、入力部２４を用いてメニュー画像３０４として表示された選択肢から希望する処理を選択することが可能になる。
【００４５】
ここで、オブジェクトは、自動化する処理において画面上の位置の特定が必要な対象物を意味する。オブジェクトは、例えば、ウェブページにおけるアイコン、ボタン、テキスト等とすることができる。
【００４６】
第１表示部２００と第２表示部３００を同時に表示させることが好適である。この場合、第１表示部２００を表示させるウィンドウと第２表示部３００を表示させるウィンドウとを並べて表示させてもよいし、一部又は全部を重ね併せて表示させてもよい。すなわち、ウィンドウを切り換えることによって、第１表示部２００と第２表示部３００とを直ちに操作対象とすることができる態様で表示させるものであればよい。なお、第１表示部２００と第２表示部３００とを空間的又は時間的に別々に表示させるようにしてもよい。
【００４７】
ステップＳ２０では、ウェブページに対する処理を記憶する処理が行われる。当該ステップにおける処理によって、情報処理システム１００はシナリオ記憶手段として機能する。メニュー画像３０４の選択肢の１つが選択されると、当該選択肢で表わされる処理がシナリオとして記憶される。
【００４８】
具体的には、ユーザが入力部２４を用いて第２表示部３００上に表示されたメニュー画像３０４から選択肢の１つを選択すると、第１表示部２００の処理内容編集領域２０４にシナリオとして記憶される処理を追加して表示させる。例えば、図８に示すように、メニュー画像３０４中の選択肢である「クリックする」にカーソル３０２を移動させてマウスをクリックする。これによって、図９に示すように、第１表示部２００の処理内容編集領域２０４に新たに「アイコンＡをクリックする」というオブジェクトの選択及びオブジェクトに対する処理がシナリオとして追加され、その処理の内容を示す情報が処理内容入力領域２０６に表示される。したがって、ユーザは、第１表示部２００に表示された内容を編集して確定させることで、第２表示部３００に表示されたウェブページに対する処理をシナリオとして記憶させることができる。
【００４９】
なお、ここでは、メニュー画像３０４を表示させて処理をユーザに選択させる態様としたが、第２表示部３００に表示されたウェブページにおいてオブジェクトを直接操作することによって、当該オブジェクトとそれに対する操作の内容を取得してシナリオとして記録するようにしてもよい。
【００５０】
ステップＳ２２では、シナリオに沿った処理においてオブジェクトを特定する条件を設定する処理が行われる。当該ステップにおける処理によって、情報処理システム１００は条件設定手段として機能する。
【００５１】
本実施の形態では、１つのオブジェクトに対してオブジェクトを特定する条件を複数設定できるようにする。すなわち、シナリオに沿って自動化処理を実行する際に対象となるオブジェクトを選択するための複数の条件をユーザが設定できる。オブジェクトを選択するための条件は、ウェブページ上のオブジェクトに対するＣＳＳセレクタ、オブジェクトの画面上の座標（画面上の領域）、オブジェクトを表示したときの画像の少なくとも１つを含むことが好適である。
【００５２】
例えば、図９に示すように、処理内容入力領域２０６内に条件セレクト領域２０６ａ及び条件内容設定領域２０６ｂを含む条件設定画面を表示させる。図９の例では、条件内容設定領域２０６ｂにおいて、４つのＣＳＳセレクタ（ＣＳＳセレクタ１〜４）、１つの画像認識、１つの画像座標がオブジェクトを選択するための条件の選択肢として挙げられている。
【００５３】
ＣＳＳセレクタは、ＨＴＭＬで表現されたウェブページ上のオブジェクトを選択するための条件であり、例えば、パターン１“ｉｄ属性＞タグ名＞相対的な構造”、パターン２“タグ名＞相対的な構造”、パターン３“ｉｄ属性＞ｃｌａｓｓ属性＞タグ名＞相対的な構造”、パターン４“タグ名＞ｎａｍｅ属性＞相対的な構造”等とすることができる。例えば、第２表示部３００上に表示されたウェブページ上において処理対象となるオブジェクトを選択して、当該オブジェクトに対する処理を指定することによって、当該オブジェクトを要素として当該要素に対する処理内容を示すＣＳＳセレクタが自動的に条件に加えられる。
【００５４】
また、画像認識は、操作対象であるウェブページにおいて選択されたオブジェクトを画像として認識して選択する条件である。画像認識に用いられるオブジェクトの画像データは、ウェブページにおけるオブジェクトの画像をユーザが選択して画像データとして記憶させればよい。また、ウェブページにおけるオブジェクトのＨＴＭＬ要素に含まれる当該オブジェクトの画像データを画像認識に用いられるオブジェクトの画像データとして記憶させてもよい。また、テキスト及びその表示パラメータ（フォント要素等）に基づいて画像データを自動生成して画像認識に用いられるオブジェクトの画像データとして記憶させてもよい。
【００５５】
また、画像座標（領域）は、操作対象であるウェブページにおいて選択されたオブジェクトを画面上の座標（領域）に基づいて選択する条件である。オブジェクトの座標データは、ウェブページにおけるオブジェクトの画像領域をユーザが選択して座標データとして記憶させればよい。また、ウェブページにおけるオブジェクトのＨＴＭＬ要素に含まれる当該オブジェクトの画像データを表示する座標データを記憶させてもよい。
【００５６】
また、条件セレクト領域２０６ａにおいて、オブジェクトの選択に使用する条件をユーザが選択することができる。本実施の形態では、図９に示すように、条件毎にトグルボタンを表示させ、当該トグルボタンを右に動かすことによってユーザが条件を使用する状態（オン）と当該トグルボタンを左に動かすことによって条件を使用しない状態（オフ）を選択できるようにしている。図９では、ＣＳＳセレクタ１，ＣＳＳセレクタ３、画像認識及び画像座標の条件が使用される状態（オン）されており、ＣＳＳセレクタ２，ＣＳＳセレクタ４の条件が使用されない状態（オフ）された例を示している。
【００５７】
なお、各条件に対して、条件が使用される状態（オン）を初期状態とすることが好適である。この場合、ユーザが使用する必要がないと考える条件に対して、条件セレクト領域２０６ａにおいて条件が使用されない状態（オフ）とするようにすればよい。
【００５８】
また、本実施の形態では、条件の選択をトグルボタンで行うものとしたが、他の選択方法を適用してもよい。例えば、トグルボタンの代わりに、チェックボックスやオン／オフボタン等を用いて条件を選択できるようにしてもよい。
【００５９】
オブジェクトを特定するための条件は、自動化される処理の対象であるオブジェクト毎に条件データベースとして記憶部２２に記憶される。例えば、図９に示した例の場合、図１１に示すような条件データベースが記憶される。
【００６０】
上記のステップＳ１８とステップＳ２２を繰り返すことによって、自動化したい処理をシナリオとして順次記憶させていくことができる。
【００６１】
＜シナリオ実行処理＞
上記シナリオ作成処理において記録されたシナリオに沿ってウェブサイト等に対する操作を含む処理について自動化することができる。以下、図１１のフローチャートを参照して、本実施の形態における情報処理システム１００によって、シナリオに沿って処理を自動的に実行する処理について説明する。
【００６２】
ステップＳ３０では、シナリオを実行するためのアプリケーションの起動処理が行われる。当該ステップにおける処理によって、情報処理システム１００は起動処理手段として機能する。クライアント１０４は、記憶部２２に記憶されているクライアントプログラムを実行することによってシナリオに沿って処理を自動的に実行するためのアプリケーションを起動する。
【００６３】
ステップＳ３２では、自動化処理の対象となるウェブページを表示する処理が行われる。当該ステップにおける処理によって、情報処理システム１００はウェブページ表示手段として機能する。処理部１０は、シナリオとして記憶されている「ウェブページを開く」というステップに沿って、当該ステップで対象とされているウェブページのＵＲＬを読み出し、情報通信網１０６を介してサーバ１０２にアクセスして指定されたＵＲＬで特定されるウェブページのソースコードを取得する。そして、図６に示したように、ウェブページを表示させる。
【００６４】
ステップＳ３４では、ウェブページに対する処理が行われる。当該ステップにおける処理によって、情報処理システム１００はシナリオ実行手段として機能する。処理部１０は、シナリオに沿って、処理の対象となるオブジェクトの特定及びそのオブジェクトに対する処理を自動的に実行する。
【００６５】
オブジェクトの特定処理は、上記ステップＳ２２において使用される状態（オン）に設定された条件に基づいて行われる。処理部１０は、シナリオから次の処理内容を読み出すと、処理の対象となるオブジェクトを特定する処理を開始する。各オブジェクトには、上記ステップＳ２２において使用される状態（オン）に設定されている条件について、ステップＳ３２において表示されたウェブページ上においてそれらの条件の少なくとも１つを満足するオブジェクトを選択する。
【００６６】
条件がＣＳＳセレクタである場合、ＣＳＳセレクタにおいて処理対象として定義されているウェブページのＨＴＭＬ要素を自動化処理の対象であるウェブページから検索する。当該ＨＴＭＬ要素が当該ウェブページに含まれていれば、当該ＨＴＭＬ要素を処理対象のオブジェクトとして特定する。また、条件が画像認識である場合、画像認識のために記憶されている画像データを読み出し、当該画像データに対応する画像領域を自動化処理の対象であるウェブページから検索する。当該画像領域が当該ウェブページに含まれていれば、当該画像領域に対応する画面上の座標を取得し、当該座標に該当するウェブページのＨＴＭＬ要素を処理対象のオブジェクトとして特定する。また、条件が画像座標（領域）である場合、自動化処理の対象であるウェブページにおいて条件とされている画像座標（領域）に位置するウェブページのＨＴＭＬ要素を検索する。当該画像座標（領域）に処理可能なウェブページのＨＴＭＬ要素が存在していれば、当該画像座標（領域）に対応するウェブページのＨＴＭＬ要素を処理対象のオブジェクトとして特定する。
【００６７】
オブジェクトについて複数の条件が設定されている場合、複数の条件について順にいずれかの条件が満たされるまでオブジェクトの特定処理を行う。そして、いずれか１つの条件でも満たされて処理対象となるオブジェクトが特定された場合、オブジェクトの特定処理を終了すればよい。
【００６８】
ここで、オブジェクトを特定するために使用される状態（オン）に設定されていたすべての条件について満たされなかった場合、自動化処理の対象とするオブジェクトが特定できなかった旨を示す情報を表示してユーザに知らせる処理を行ってもよい。また、オブジェクトを特定する条件のうち満たされた条件を表示してユーザに知らせるようにしてもよい。
【００６９】
処理対象のオブジェクトが特定されると、処理部１０は、当該オブジェクトに対してシナリオに記録されている処理を実行する。シナリオにさらに自動化する処理が含まれている場合、ステップＳ３４を繰り返せばよい。
【００７０】
例えば、「アイコンＡをクリックする」という処理がシナリオに登録されている場合、まず処理対象であるオブジェクト「アイコンＡ」を特定する処理を行う。例えば、図１０に示したような記憶部２２に記憶されている条件データベースを参照して、オンに設定されている条件のうちいずれかを満たすようなオブジェクトがウェブページ内に存在するか否かを調べる。具体的には、「アイコンＡ」を特定するための条件としてオン設定されている条件１（ＣＳＳセレクタ１）、条件３（ＣＳＳセレクタ３）、条件５（画像認識）及び条件６（画像座標）が満たされるかを順に確認し、条件のいずれかを満たすオブジェクトが存在した時点でそのオブジェクトを「アイコンＡ」として特定する。すなわち、オン設定されている条件のうち少なくとも１つを満たすオブジェクトが見付かると当該オブジェクトを「アイコンＡ」として特定する。そして、当該「アイコンＡ」に対してクリックする処理が自動的に実行される。ウェブサイトに条件を満たすオブジェクトが存在しなければ、自動化処理の対象とするオブジェクトが特定できなかった旨を示す情報を表示してユーザに知らせる。
【００７１】
なお、シナリオに基づく自動化の処理は、情報通信網１０６を介したクラウドによる処理としてもよいし、ローカルのサーバによる処理としてもよい。クラウドによる処理とした場合、ローカルのサーバの性能等に依存しない処理を実現することができる。また、ローカルのサーバによる処理とした場合、情報通信網１０６を介して外部からアクセスができない社内専用サイト等のウェブページに対する処理も自動化することができる。なお、情報処理システム１００では、クラウドによる処理とローカルのサーバによる処理とを切り換えることができるようにすることが好適である。
【００７２】
また、本実施の形態では、対象をウェブブラウザにおける処理としたがこれに限定されるものではない。処理の対象は、ローカルで使用されるネイティブアプリケーション等の他の処理としてもよい。
【符号の説明】
【００７３】
１０  処理部、１２  記憶部、１４  入力部、１６  出力部、１８  通信部、２０  処理部、２２  記憶部、２４  入力部、２６  出力部、２８  通信部、１００  情報処理システム、１０２  サーバ、１０４  クライアント、１０６  情報通信網、２０２  選択肢表示領域、２０４  処理内容編集領域、２０６  処理内容入力領域、２０６ａ  条件セレクト領域、２０６ｂ  条件内容設定領域、３０２  カーソル、３０４  メニュー画像。
【要約】
【課題】処理を自動化する際にオブジェクトを適切に特定することを可能する。
【解決手段】自動化する操作対象となるオブジェクトと当該オブジェクトに対する操作内容を前記シナリオとして記録するシナリオ記録手段と、オブジェクトを特定する条件を設定する条件設定手段と、を備え、条件は、１つのオブジェクトに対して複数設定可能である。
【選択図】図４【図１】
0006910494.tif 000002
【図２】
0006910494.tif 000003
【図３】
0006910494.tif 000004
【図４】
0006910494.tif 000005
【図５】
0006910494.tif 000006
【図６】
0006910494.tif 000007
【図７】
0006910494.tif 000008
【図８】
0006910494.tif 000009
【図９】
0006910494.tif 000010
【図１０】
0006910494.tif 000011
【図１１】
0006910494.tif 000012