JP2021163504A - 情報処理プログラム、情報処理装置及び情報処理方法 - Google Patents
情報処理プログラム、情報処理装置及び情報処理方法 Download PDFInfo
- Publication number
- JP2021163504A JP2021163504A JP2021063412A JP2021063412A JP2021163504A JP 2021163504 A JP2021163504 A JP 2021163504A JP 2021063412 A JP2021063412 A JP 2021063412A JP 2021063412 A JP2021063412 A JP 2021063412A JP 2021163504 A JP2021163504 A JP 2021163504A
- Authority
- JP
- Japan
- Prior art keywords
- scenario
- information processing
- processing program
- conditions
- processing
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Landscapes
- Stored Programmes (AREA)
- Debugging And Monitoring (AREA)
- User Interface Of Digital Computer (AREA)
Abstract
【課題】処理を自動化する際にオブジェクトを適切に特定することを可能する。【解決手段】自動化する操作対象となるオブジェクトと当該オブジェクトに対する操作内容を前記シナリオとして記録するシナリオ記録手段と、オブジェクトを特定する条件を設定する条件設定手段と、を備え、条件は、1つのオブジェクトに対して複数設定可能である。【選択図】図4
Description
本発明は、処理を自動化するための情報処理プログラム、情報処理装置及び情報処理方法に関する。
近年、コンピュータにおけるユーザの操作手順をシナリオとして記録して、当該操作手順を自動的に実行することでコンピュータにおける処理を自動化する技術が用いられている。このような技術は、ロボティック・プロセス・オートメーション(RPA)と呼ばれている。
例えば、検索するべき文字列の画像を生成し、画像認識処理によって表示画面中から当該画像を抽出することで自動化操作する位置を特定する技術が開示されている(特許文献1)。
ところで、操作を自動化する対象となるウェブページ上のアイコンやテキスト等のオブジェクトを特定する際に、従来技術の画像認識やユーザの操作を画面上の座標として記録しておく等の方法が採用されている。しかしながら、自動化する対象によって、どのような方法でアイコンやテキスト等のオブジェクトを特定するべきかは異なる。
そこで、本発明は、自動化する対象に適したオブジェクトの特定方法を提供することを目的の一つとする。
本発明の1つの態様は、対象処理を自動化するためのシナリオを作成する情報処理プログラムであって、コンピュータを、自動化する操作対象となるオブジェクトと当該オブジェクトに対する操作内容を前記シナリオとして記録するシナリオ記録手段と、前記オブジェクトを特定する条件を設定する条件設定手段と、して機能させ、前記条件は、1つの前記オブジェクトに対して複数設定可能であることを特徴とする情報処理プログラムである。
本発明の別の態様は、対象処理を自動化するためのシナリオを作成する情報処理装置であって、自動化する操作対象となるオブジェクトと当該オブジェクトに対する操作内容を前記シナリオとして記録するシナリオ記録手段と、前記オブジェクトを特定する条件を設定する条件設定手段と、を備え、前記条件は、1つの前記オブジェクトに対して複数設定可能であることを特徴とする情報処理装置である。
本発明の別の態様は、対象処理を自動化するためのシナリオを作成する情報処理方法であって、自動化する操作対象となるオブジェクトと当該オブジェクトに対する操作内容を前記シナリオとして記録するシナリオ記録ステップと、前記オブジェクトを特定する条件を設定する条件設定ステップと、を備え、前記条件は、1つの前記オブジェクトに対して複数設定可能であることを特徴とする情報処理方法である。
ここで、前記条件を使用するか否かをユーザが選択可能であることが好適である。
また、前記条件は、前記オブジェクトに対するCSSセレクタ、前記オブジェクトの画面上の座標、前記オブジェクトを表示したときの画像の少なくとも1つを含むことが好適である。
また、前記コンピュータを、前記オブジェクトに対して前記条件毎を使用するか否かをユーザに設定させる条件設定画面を表示させる画面表示手段として機能させ、前記条件設定手段は、前記条件設定画面に対するユーザの操作を受け付けて、前記オブジェクト毎に前記条件を設定する処理を行うことが好適である。
本発明の別の態様は、対象処理を自動化するためのシナリオに沿って自動的に処理を行う情報処理プログラムであって、コンピュータを、自動化する操作対象となるオブジェクトと当該オブジェクトに対する操作内容を記録した前記シナリオと、当該オブジェクト毎に当該オブジェクトを特定するために設定された複数の条件と、を参照して、前記条件の少なくとも1つを満たすオブジェクトを操作対象となるオブジェクトとして特定し、前記シナリオに沿って当該オブジェクトに対する前記操作内容を自動的に実行するシナリオ実行手段として機能させることを特徴とする情報処理プログラムである。
本発明の別の態様は、対象処理を自動化するためのシナリオに沿って自動的に処理を行う情報処理装置であって、自動化する操作対象となるオブジェクトと当該オブジェクトに対する操作内容を記録した前記シナリオと、当該オブジェクト毎に当該オブジェクトを特定するために設定された複数の条件と、を参照して、前記条件の少なくとも1つを満たすオブジェクトを操作対象となるオブジェクトとして特定し、前記シナリオに沿って当該オブジェクトに対する前記操作内容を自動的に実行するシナリオ実行手段を備えることを特徴とする情報処理装置である。
本発明の別の態様は、対象処理を自動化するためのシナリオに沿って自動的に処理を行う情報処理方法であって、自動化する操作対象となるオブジェクトと当該オブジェクトに対する操作内容を記録した前記シナリオと、当該オブジェクト毎に当該オブジェクトを特定するために設定された複数の条件と、を参照して、前記条件の少なくとも1つを満たすオブジェクトを操作対象となるオブジェクトとして特定し、前記シナリオに沿って当該オブジェクトに対する前記操作内容を自動的に実行するシナリオ実行ステップを備えることを特徴とする情報処理方法である。
ここで、前記条件を使用するか否かをユーザが選択可能であることが好適である。
また、前記条件は、前記オブジェクトに対するCSSセレクタ、前記オブジェクトの画面上の座標、前記オブジェクトを表示したときの画像の少なくとも1つを含むことが好適である。
また、前記シナリオ実行手段は、前記条件のすべてが満たされなかった場合にその旨を表示することが好適である。
また、前記シナリオ実行手段は、前記条件のうち満たされなかった条件を表示することが好適である。
また、前記シナリオ実行手段は、前記条件が前記オブジェクトを表示したときの画像である場合、当該画像が表示された表示画面内に存在するか否かを検索し、前記表示画面内に当該画像が存在するときには当該画像の前記表示画面内の座標を取得し、当該座標から前記オブジェクトのHTMLの構成要素を特定し、当該構成要素に応じて当該オブジェクトに対する処理を自動的に実行することが好適である。
本発明によれば、処理を自動化する際にオブジェクトを適切に特定することを可能とした情報処理プログラム、情報処理装置及び情報処理方法を提供することができる。本発明の実施の形態の他の目的は、本明細書全体を参照することにより明らかになる。
本発明の実施の形態における情報処理システム100は、図1に示すように、サーバ102、クライアント104及び情報通信網106を含んで構成される。サーバ102及びクライアント104は、情報通信網106(例えば、インターネット)を介して接続されており、クライアント104からサーバ102が提供するウェブページにアクセスすることができる。
なお、図1では、サーバ102を1つのみ示したが、複数のサーバ102が情報通信網106に接続されてもよく、それぞれの複数のサーバ102からウェブページが提供されるようにしてもよい。
サーバ102は、図2に示すように、処理部10、記憶部12、入力部14、出力部16及び通信部18を含んで構成される。処理部10は、CPU等の演算処理を行う手段を含む。処理部10は、記憶部12に記憶されているウェブページ提供プログラム(例えば、サーバプログラム)を実行することによって、本実施の形態における情報処理システム100においてクライアント104にウェブページを提供するための機能を実現する。記憶部12は、半導体メモリやメモリカード等の記憶手段を含む。記憶部12は、処理部10とアクセス可能に接続され、ウェブページ提供プログラム、その処理に必要な情報を記憶する。入力部14は、情報を入力する手段を含む。入力部14は、例えば、管理者からの入力を受けるキーボード、タッチパネル、ボタン等を備える。出力部16は、管理者から入力情報を受け付けるためのユーザインターフェース画面(UI)等のサーバ102での処理結果を出力する手段を含む。出力部16は、例えば、管理者に対して画像を呈示するディスプレイを備える。通信部18は、情報通信網106を介して、クライアント104との情報の通信を行うインターフェースを含んで構成される。通信部18による通信は有線及び無線を問わない。
クライアント104は、図3に示すように、処理部20、記憶部22、入力部24、出力部26及び通信部28を含んで構成される。処理部20は、CPU等の演算処理を行う手段を含む。処理部20は、記憶部22に記憶されているクライアントプログラムを実行することによって、本実施の形態における情報処理システム100におけるウェブページに対する処理の自動化を実現する。記憶部22は、半導体メモリやメモリカード等の記憶手段を含む。記憶部22は、処理部20とアクセス可能に接続され、クライアントプログラム、その処理に必要な情報を記憶する。入力部24は、情報を入力する手段を含む。入力部24は、例えば、ユーザからの入力を受けるキーボード、タッチパネル、ボタン等を備える。出力部26は、ユーザから入力情報を受け付けるためのユーザインターフェース画面(UI)等のクライアント104での処理に必要な情報を出力する手段を含む。出力部26は、例えば、ユーザに対して画像を呈示するディスプレイを備える。通信部28は、情報通信網106を介して、サーバ102との情報の通信を行うインターフェースを含んで構成される。通信部28による通信は有線及び無線を問わない。
サーバ102及びクライアント104は、一般に用いられるコンピュータ、すなわちPC(パーソナルコンピュータ)、あるいはスマートフォンなどの携帯端末等とすることができる。また、以下におけるサーバ102の処理の一部又は全部をクライアント104において実現してもよいし、クライアント104の処理の一部又は全部をサーバ102において実現してもよい。
情報処理システム100において、ウェブページに対する処理を自動化するためには、当該処理をコンピュータによって自動的に実行できる形式であるプログラム、コード、データ等を含むシナリオとして記憶させる処理とこのシナリオに沿って自動化処理を実行することが必要である。以下、コンピュータによって自動的に実行できる形式であるプログラム、コード、データ等を含むRPAデータ(Robotic Process Automation Data)をシナリオと呼ぶ。例えば、ウェブブラウザに対する処理はSelenium等のアプリケーションによって実行可能なシナリオとして記憶させることができる。
<シナリオ作成処理>
以下、図4のフローチャートを参照して、本実施の形態における情報処理システム100によるウェブページに対する処理を自動化するためにシナリオを記憶させる処理について説明する。ウェブページに対する処理とは、ウェブページを構成する要素に対する操作(例えば、カーソル移動、クリック等)、テキスト等の情報の入力等のウェブページ上において行える操作やそれに伴う処理を意味する。
以下、図4のフローチャートを参照して、本実施の形態における情報処理システム100によるウェブページに対する処理を自動化するためにシナリオを記憶させる処理について説明する。ウェブページに対する処理とは、ウェブページを構成する要素に対する操作(例えば、カーソル移動、クリック等)、テキスト等の情報の入力等のウェブページ上において行える操作やそれに伴う処理を意味する。
ステップS10では、シナリオを記憶させるためのアプリケーションの起動処理が行われる。当該ステップにおける処理によって、情報処理システム100は起動処理手段として機能する。クライアント104は、記憶部22に記憶されているクライアントプログラムを実行することによってシナリオを記憶させるためのアプリケーションを起動する。
ステップS12では、自動化する内容を編集するための編集部を含む第1表示部を表示する処理が行われる。当該ステップにおける処理によって、情報処理システム100は第1表示部表示手段として機能する。ステップS10におけるアプリケーションの起動に伴って、クライアント104の出力部26に自動化する内容を編集するための編集部を含む第1表示部が表示される。
図5は、第1表示部200の表示例を示す。第1表示部200は、選択肢表示領域202、処理内容編集領域204及び処理内容入力領域206を含んで構成される。
選択肢表示領域202は、自動化する処理の選択肢を示す領域である。ユーザは、入力部24を用いて選択肢表示領域202に表示されている選択肢の1つを選択する(例えば、マウスを用いて選択肢をクリックする等)ことによって自動化する処理を新たに追加することができる。処理の選択肢は、ウェブブラウザやウェブページに対する操作に伴う処理を含む。ウェブブラウザやウェブページに対する処理としては、ユーザから入力されたURLで特定されるウェブページを開く操作及びその処理、アクティブ状態にあるウィンドウのウェブページを更新する処理、ウェブページにおいてユーザが指定した領域にカーソルを移動させる操作及びその処理、ウェブページにおいてカーソルが位置する領域をクリックする操作及びその処理等が挙げられる。ただし、ウェブブラウザやウェブページに対する処理は、これらに限定されるものではなく、他の処理を選択肢としてもよい。
また、処理の選択肢は、ローカルで使用されるネイティブアプリケーションに対する処理であってもよい。ここで、本明細書においてネイティブアプリケーションとは、
1617338747010_0
内部の演算処理手段において
1617338747010_1
処理を行うアプリケーションを意味する。具体的には、ワードプロセッサアプリケーション、表計算アプリケーション等がある。
1617338747010_0
内部の演算処理手段において
1617338747010_1
処理を行うアプリケーションを意味する。具体的には、ワードプロセッサアプリケーション、表計算アプリケーション等がある。
処理内容編集領域204は、自動化する処理の内容を表示及び編集するための領域である。すなわち、処理内容編集領域204は、シナリオとして記憶される処理を表示させる領域である。処理内容編集領域204は、シナリオとして記憶される処理をステップ毎のフローチャート形式で表示させることが好適である。自動化する処理の内容は、各操作や各処理を自動的に行う順にステップとして並べたシナリオとして記憶される。例えば、選択肢表示領域202において選択された選択肢に対応する処理が処理内容編集領域204に表示されると共に自動化する処理としてシナリオに追加される。また、後述するようにウェブページを表示させた第2表示部に対してユーザが行った操作や第2表示部において行われた処理が処理内容編集領域204に表示されると共に自動化する処理としてシナリオに追加される。また、ユーザは、入力部24を用いることによって処理内容編集領域204に表示されている処理の内容を編集することができる。処理の内容の編集は、処理の順番の入れ替え、処理に用いられるデータの変更、処理に必要なパラメータの変更等が挙げられる。ただし、処理の内容の編集は、これらの編集に限定されるものではなく、自動化する処理に対するシナリオを編集するものであればよい。
処理内容入力領域206は、自動化する処理の内容を編集する際にデータやパラメータ等の自動化に必要な情報を入力するための領域である。処理内容入力領域206には、処理内容編集領域204において編集対象である処理に必要な情報を入力するための入力インターフェース画像が表示される。ユーザは、入力部24を用いて、処理内容入力領域206に必要な情報を入力した上で情報を確定することによってシナリオとして記憶される処理が設定される。
なお、本実施の形態では、選択肢表示領域202、処理内容編集領域204及び処理内容入力領域206を1つの画面上に同時に表示させるものとしたが、空間的又は時間的に別々に表示させるようにしてもよい。例えば、選択肢表示領域202、処理内容編集領域204及び処理内容入力領域206を別々のウィンドウとして表示させるようにしてもよい。また、例えば、選択肢表示領域202、処理内容編集領域204及び処理内容入力領域206の各々について必要なときにだけポップアップするウィンドウとして表示させるようにしてもよい。
例えば、シナリオにウェブページを開く処理を登録する場合、図5に例示するように、選択肢表示領域202において「ウェブページを開く」を選択(クリック)する(図中、選択されたことを示すためにハッチングを施して示す)ことで処理内容編集領域204に新たにシナリオに記憶させる処理として表示される。これと共に、処理内容編集領域204において現在編集中である処理(ステップ)として、処理に関連する情報を入力するための入力インターフェース画像が処理内容入力領域206に表示される。ここでは、「ウェブページを開く」という処理に付ける名称、対象であるウェブページを特定するためのURL、ウェブページを開く処理についてのオプションを入力するための画像が表示されている。名称を「ページAを開く」、URLを「https:/www.xxx」として実行ボタンをクリックすると、処理内容編集領域204において編集対象となっている「ウェブページを開く」という処理(ステップ)に対して「ページAを開く」という名前が付けられ、https:/www.xxxというウェブページを開く処理がシナリオとして記憶される。
このような操作を繰り返すことによって、自動化する処理をステップとして時系列に並べたシナリオが記憶部22に記憶される。以下、本実施の形態では、ウェブページを開いて、当該ウェブページにおける処理をシナリオとして記憶させていく処理について説明する。
ステップS14では、自動化の対象となるウェブページを表示するためのソースコードの取得処理が行われる。当該ステップにおける処理によって、情報処理システム100はコード取得手段として機能する。処理部10は、ステップS12において自動化する処理の対象であるウェブページのURLが指定されると、情報通信網106を介してサーバ102にアクセスして指定されたURLで特定されるウェブページのソースコードを取得する。
ステップS16では、自動化の対象となるウェブページにおいて選択可能な処理の選択肢を表示させるコードを埋め込む処理が行われる。当該ステップにおける処理によって、情報処理システム100はコード埋込手段として機能する。処理部10は、ステップS14において取得されたウェブページのソースコードを解析して、当該ウェブページにおいて処理可能なタブに対して行われる処理をメニュー形式で表示させるためのコードを当該ソースコードに埋め込む処理を行う。
ステップS18では、自動化の対象となるウェブページを表示する第2表示部を表示させる処理が行われる。当該ステップにおける処理によって、情報処理システム100は第2表示部表示手段として機能する。処理部10は、ステップS16においてメニュー表示のためのコードが埋め込まれたソースコードに応じたウェブページを第2表示部としてウェブブラウザ上に表示させる。ウェブページを表示させるためのウェブブラウザは、既存のブラウザとしてもよいし、情報処理システム100において専用のブラウザとしてもよい。
図6は、第2表示部300の表示例を示す。処理部10は、URL(当該例では、https:/www.xxx)で特定されるソースコードをサーバ102から受信すると、当該ソースコードにメニュー表示のためのコードを埋め込んだうえで第2表示部300として表示させる。
例えば、図6に示した第2表示部300では、処理が可能な画像領域(図中では「アイコンA」)にカーソル302を移動させて右クリックすることによって、図7に示すように、埋め込まれたコードに基づいてアイコンAというオブジェクトに対して可能な処理を選択肢として表示させるメニュー画像304が表示される。ユーザは、入力部24を用いてメニュー画像304として表示された選択肢から希望する処理を選択することが可能になる。
ここで、オブジェクトは、自動化する処理において画面上の位置の特定が必要な対象物を意味する。オブジェクトは、例えば、ウェブページにおけるアイコン、ボタン、テキスト等とすることができる。
第1表示部200と第2表示部300を同時に表示させることが好適である。この場合、第1表示部200を表示させるウィンドウと第2表示部300を表示させるウィンドウとを並べて表示させてもよいし、一部又は全部を重ね併せて表示させてもよい。すなわち、ウィンドウを切り換えることによって、第1表示部200と第2表示部300とを直ちに操作対象とすることができる態様で表示させるものであればよい。なお、第1表示部200と第2表示部300とを空間的又は時間的に別々に表示させるようにしてもよい。
ステップS20では、ウェブページに対する処理を記憶する処理が行われる。当該ステップにおける処理によって、情報処理システム100はシナリオ記憶手段として機能する。メニュー画像304の選択肢の1つが選択されると、当該選択肢で表わされる処理がシナリオとして記憶される。
具体的には、ユーザが入力部24を用いて第2表示部300上に表示されたメニュー画像304から選択肢の1つを選択すると、第1表示部200の処理内容編集領域204にシナリオとして記憶される処理を追加して表示させる。例えば、図8に示すように、メニュー画像304中の選択肢である「クリックする」にカーソル302を移動させてマウスをクリックする。これによって、図9に示すように、第1表示部200の処理内容編集領域204に新たに「アイコンAをクリックする」というオブジェクトの選択及びオブジェクトに対する処理がシナリオとして追加され、その処理の内容を示す情報が処理内容入力領域206に表示される。したがって、ユーザは、第1表示部200に表示された内容を編集して確定させることで、第2表示部300に表示されたウェブページに対する処理をシナリオとして記憶させることができる。
なお、ここでは、メニュー画像304を表示させて処理をユーザに選択させる態様としたが、第2表示部300に表示されたウェブページにおいてオブジェクトを直接操作することによって、当該オブジェクトとそれに対する操作の内容を取得してシナリオとして記録するようにしてもよい。
ステップS22では、シナリオに沿った処理においてオブジェクトを特定する条件を設定する処理が行われる。当該ステップにおける処理によって、情報処理システム100は条件設定手段として機能する。
本実施の形態では、1つのオブジェクトに対してオブジェクトを特定する条件を複数設定できるようにする。すなわち、シナリオに沿って自動化処理を実行する際に対象となるオブジェクトを選択するための複数の条件をユーザが設定できる。オブジェクトを選択するための条件は、ウェブページ上のオブジェクトに対するCSSセレクタ、オブジェクトの画面上の座標(画面上の領域)、オブジェクトを表示したときの画像の少なくとも1つを含むことが好適である。
例えば、図9に示すように、処理内容入力領域206内に条件セレクト領域206a及び条件内容設定領域206bを含む条件設定画面を表示させる。図9の例では、条件内容設定領域206bにおいて、4つのCSSセレクタ(CSSセレクタ1〜4)、1つの画像認識、1つの画像座標がオブジェクトを選択するための条件の選択肢として挙げられている。
CSSセレクタは、HTMLで表現されたウェブページ上のオブジェクトを選択するための条件であり、例えば、パターン1“id属性>タグ名>相対的な構造”、パターン2“タグ名>相対的な構造”、パターン3“id属性>class属性>タグ名>相対的な構造”、パターン4“タグ名>name属性>相対的な構造”等とすることができる。例えば、第2表示部300上に表示されたウェブページ上において処理対象となるオブジェクトを選択して、当該オブジェクトに対する処理を指定することによって、当該オブジェクトを要素として当該要素に対する処理内容を示すCSSセレクタが自動的に条件に加えられる。
また、画像認識は、操作対象であるウェブページにおいて選択されたオブジェクトを画像として認識して選択する条件である。画像認識に用いられるオブジェクトの画像データは、ウェブページにおけるオブジェクトの画像をユーザが選択して画像データとして記憶させればよい。また、ウェブページにおけるオブジェクトのHTML要素に含まれる当該オブジェクトの画像データを画像認識に用いられるオブジェクトの画像データとして記憶させてもよい。また、テキスト及びその表示パラメータ(フォント要素等)に基づいて画像データを自動生成して画像認識に用いられるオブジェクトの画像データとして記憶させてもよい。
また、画像座標(領域)は、操作対象であるウェブページにおいて選択されたオブジェクトを画面上の座標(領域)に基づいて選択する条件である。オブジェクトの座標データは、ウェブページにおけるオブジェクトの画像領域をユーザが選択して座標データとして記憶させればよい。また、ウェブページにおけるオブジェクトのHTML要素に含まれる当該オブジェクトの画像データを表示する座標データを記憶させてもよい。
また、条件セレクト領域206aにおいて、オブジェクトの選択に使用する条件をユーザが選択することができる。本実施の形態では、図9に示すように、条件毎にトグルボタンを表示させ、当該トグルボタンを右に動かすことによってユーザが条件を使用する状態(オン)と当該トグルボタンを左に動かすことによって条件を使用しない状態(オフ)を選択できるようにしている。図9では、CSSセレクタ1,CSSセレクタ3、画像認識及び画像座標の条件が使用される状態(オン)されており、CSSセレクタ2,CSSセレクタ4の条件が使用されない状態(オフ)された例を示している。
なお、各条件に対して、条件が使用される状態(オン)を初期状態とすることが好適である。この場合、ユーザが使用する必要がないと考える条件に対して、条件セレクト領域206aにおいて条件が使用されない状態(オフ)とするようにすればよい。
また、本実施の形態では、条件の選択をトグルボタンで行うものとしたが、他の選択方法を適用してもよい。例えば、トグルボタンの代わりに、チェックボックスやオン/オフボタン等を用いて条件を選択できるようにしてもよい。
オブジェクトを特定するための条件は、自動化される処理の対象であるオブジェクト毎に条件データベースとして記憶部22に記憶される。例えば、図9に示した例の場合、図11に示すような条件データベースが記憶される。
上記のステップS18とステップS22を繰り返すことによって、自動化したい処理をシナリオとして順次記憶させていくことができる。
<シナリオ実行処理>
上記シナリオ作成処理において記録されたシナリオに沿ってウェブサイト等に対する操作を含む処理について自動化することができる。以下、図11のフローチャートを参照して、本実施の形態における情報処理システム100によって、シナリオに沿って処理を自動的に実行する処理について説明する。
上記シナリオ作成処理において記録されたシナリオに沿ってウェブサイト等に対する操作を含む処理について自動化することができる。以下、図11のフローチャートを参照して、本実施の形態における情報処理システム100によって、シナリオに沿って処理を自動的に実行する処理について説明する。
ステップS30では、シナリオを実行するためのアプリケーションの起動処理が行われる。当該ステップにおける処理によって、情報処理システム100は起動処理手段として機能する。クライアント104は、記憶部22に記憶されているクライアントプログラムを実行することによってシナリオに沿って処理を自動的に実行するためのアプリケーションを起動する。
ステップS32では、自動化処理の対象となるウェブページを表示する処理が行われる。当該ステップにおける処理によって、情報処理システム100はウェブページ表示手段として機能する。処理部10は、シナリオとして記憶されている「ウェブページを開く」というステップに沿って、当該ステップで対象とされているウェブページのURLを読み出し、情報通信網106を介してサーバ102にアクセスして指定されたURLで特定されるウェブページのソースコードを取得する。そして、図6に示したように、ウェブページを表示させる。
ステップS34では、ウェブページに対する処理が行われる。当該ステップにおける処理によって、情報処理システム100はシナリオ実行手段として機能する。処理部10は、シナリオに沿って、処理の対象となるオブジェクトの特定及びそのオブジェクトに対する処理を自動的に実行する。
オブジェクトの特定処理は、上記ステップS22において使用される状態(オン)に設定された条件に基づいて行われる。処理部10は、シナリオから次の処理内容を読み出すと、処理の対象となるオブジェクトを特定する処理を開始する。各オブジェクトには、上記ステップS22において使用される状態(オン)に設定されている条件について、ステップS32において表示されたウェブページ上においてそれらの条件の少なくとも1つを満足するオブジェクトを選択する。
条件がCSSセレクタである場合、CSSセレクタにおいて処理対象として定義されているウェブページのHTML要素を自動化処理の対象であるウェブページから検索する。当該HTML要素が当該ウェブページに含まれていれば、当該HTML要素を処理対象のオブジェクトとして特定する。また、条件が画像認識である場合、画像認識のために記憶されている画像データを読み出し、当該画像データに対応する画像領域を自動化処理の対象であるウェブページから検索する。当該画像領域が当該ウェブページに含まれていれば、当該画像領域に対応する画面上の座標を取得し、当該座標に該当するウェブページのHTML要素を処理対象のオブジェクトとして特定する。また、条件が画像座標(領域)である場合、自動化処理の対象であるウェブページにおいて条件とされている画像座標(領域)に位置するウェブページのHTML要素を検索する。当該画像座標(領域)に処理可能なウェブページのHTML要素が存在していれば、当該画像座標(領域)に対応するウェブページのHTML要素を処理対象のオブジェクトとして特定する。
オブジェクトについて複数の条件が設定されている場合、複数の条件について順にいずれかの条件が満たされるまでオブジェクトの特定処理を行う。そして、いずれか1つの条件でも満たされて処理対象となるオブジェクトが特定された場合、オブジェクトの特定処理を終了すればよい。
ここで、オブジェクトを特定するために使用される状態(オン)に設定されていたすべての条件について満たされなかった場合、自動化処理の対象とするオブジェクトが特定できなかった旨を示す情報を表示してユーザに知らせる処理を行ってもよい。また、オブジェクトを特定する条件のうち満たされた条件を表示してユーザに知らせるようにしてもよい。
処理対象のオブジェクトが特定されると、処理部10は、当該オブジェクトに対してシナリオに記録されている処理を実行する。シナリオにさらに自動化する処理が含まれている場合、ステップS34を繰り返せばよい。
例えば、「アイコンAをクリックする」という処理がシナリオに登録されている場合、まず処理対象であるオブジェクト「アイコンA」を特定する処理を行う。例えば、図10に示したような記憶部22に記憶されている条件データベースを参照して、オンに設定されている条件のうちいずれかを満たすようなオブジェクトがウェブページ内に存在するか否かを調べる。具体的には、「アイコンA」を特定するための条件としてオン設定されている条件1(CSSセレクタ1)、条件3(CSSセレクタ3)、条件5(画像認識)及び条件6(画像座標)が満たされるかを順に確認し、条件のいずれかを満たすオブジェクトが存在した時点でそのオブジェクトを「アイコンA」として特定する。すなわち、オン設定されている条件のうち少なくとも1つを満たすオブジェクトが見付かると当該オブジェクトを「アイコンA」として特定する。そして、当該「アイコンA」に対してクリックする処理が自動的に実行される。ウェブサイトに条件を満たすオブジェクトが存在しなければ、自動化処理の対象とするオブジェクトが特定できなかった旨を示す情報を表示してユーザに知らせる。
なお、シナリオに基づく自動化の処理は、情報通信網106を介したクラウドによる処理としてもよいし、ローカルのサーバによる処理としてもよい。クラウドによる処理とした場合、ローカルのサーバの性能等に依存しない処理を実現することができる。また、ローカルのサーバによる処理とした場合、情報通信網106を介して外部からアクセスができない社内専用サイト等のウェブページに対する処理も自動化することができる。なお、情報処理システム100では、クラウドによる処理とローカルのサーバによる処理とを切り換えることができるようにすることが好適である。
また、本実施の形態では、対象をウェブブラウザにおける処理としたがこれに限定されるものではない。処理の対象は、ローカルで使用されるネイティブアプリケーション等の他の処理としてもよい。
10 処理部、12 記憶部、14 入力部、16 出力部、18 通信部、20 処理部、22 記憶部、24 入力部、26 出力部、28 通信部、100 情報処理システム、102 サーバ、104 クライアント、106 情報通信網、202 選択肢表示領域、204 処理内容編集領域、206 処理内容入力領域、206a 条件セレクト領域、206b 条件内容設定領域、302 カーソル、304 メニュー画像。
Claims (14)
- 対象処理を自動化するためのシナリオを作成する情報処理プログラムであって、
コンピュータを、
自動化する操作対象となるオブジェクトと当該オブジェクトに対する操作内容を前記シナリオとして記録するシナリオ記録手段と、
前記オブジェクトを特定する条件を設定する条件設定手段と、
して機能させ、
前記条件は、1つの前記オブジェクトに対して複数設定可能であることを特徴とする情報処理プログラム。 - 請求項1に記載の情報処理プログラムであって、
前記条件を使用するか否かをユーザが選択可能であることを特徴とする情報処理プログラム。 - 請求項1又は2に記載の情報処理プログラムであって、
前記条件は、前記オブジェクトに対するCSSセレクタ、前記オブジェクトの画面上の座標、前記オブジェクトを表示したときの画像の少なくとも1つを含むことを特徴とする情報処理プログラム。 - 請求項1〜3のいずれか1項に記載の情報処理プログラムであって、
前記コンピュータを、前記オブジェクトに対して前記条件毎を使用するか否かをユーザに設定させる条件設定画面を表示させる画面表示手段として機能させ、
前記条件設定手段は、前記条件設定画面に対するユーザの操作を受け付けて、前記オブジェクト毎に前記条件を設定する処理を行うことを特徴とする情報処理プログラム。 - 対象処理を自動化するためのシナリオに沿って自動的に処理を行う情報処理プログラムであって、
コンピュータを、
自動化する操作対象となるオブジェクトと当該オブジェクトに対する操作内容を記録した前記シナリオと、当該オブジェクト毎に当該オブジェクトを特定するために設定された複数の条件と、を参照して、
前記条件の少なくとも1つを満たすオブジェクトを操作対象となるオブジェクトとして特定し、前記シナリオに沿って当該オブジェクトに対する前記操作内容を自動的に実行するシナリオ実行手段として機能させることを特徴とする情報処理プログラム。 - 請求項5に記載の情報処理プログラムであって、
前記条件を使用するか否かをユーザが選択可能であることを特徴とする情報処理プログラム。 - 請求項5又は6に記載の情報処理プログラムであって、
前記条件は、前記オブジェクトに対するCSSセレクタ、前記オブジェクトの画面上の座標、前記オブジェクトを表示したときの画像の少なくとも1つを含むことを特徴とする情報処理プログラム。 - 請求項5〜7のいずれか1項に記載の情報処理プログラムであって、
前記シナリオ実行手段は、前記条件のすべてが満たされなかった場合にその旨を表示することを特徴とする情報処理プログラム。 - 請求項5〜8のいずれか1項に記載の情報処理プログラムであって、
前記シナリオ実行手段は、前記条件のうち満たされなかった条件を表示することを特徴とする情報処理プログラム。 - 請求項5〜9のいずれか1項に記載の情報処理プログラムであって、
前記シナリオ実行手段は、前記条件が前記オブジェクトを表示したときの画像である場合、当該画像が表示された表示画面内に存在するか否かを検索し、前記表示画面内に当該画像が存在するときには当該画像の前記表示画面内の座標を取得し、当該座標から前記オブジェクトのHTMLの構成要素を特定し、当該構成要素に応じて当該オブジェクトに対する処理を自動的に実行することを特徴とする情報処理プログラム。 - 対象処理を自動化するためのシナリオを作成する情報処理装置であって、
自動化する操作対象となるオブジェクトと当該オブジェクトに対する操作内容を前記シナリオとして記録するシナリオ記録手段と、
前記オブジェクトを特定する条件を設定する条件設定手段と、
を備え、
前記条件は、1つの前記オブジェクトに対して複数設定可能であることを特徴とする情報処理装置。 - 対象処理を自動化するためのシナリオに沿って自動的に処理を行う情報処理装置であって、
自動化する操作対象となるオブジェクトと当該オブジェクトに対する操作内容を記録した前記シナリオと、当該オブジェクト毎に当該オブジェクトを特定するために設定された複数の条件と、を参照して、
前記条件の少なくとも1つを満たすオブジェクトを操作対象となるオブジェクトとして特定し、前記シナリオに沿って当該オブジェクトに対する前記操作内容を自動的に実行するシナリオ実行手段を備えることを特徴とする情報処理装置。 - 対象処理を自動化するためのシナリオを作成する情報処理方法であって、
自動化する操作対象となるオブジェクトと当該オブジェクトに対する操作内容を前記シナリオとして記録するシナリオ記録ステップと、
前記オブジェクトを特定する条件を設定する条件設定ステップと、
を備え、
前記条件は、1つの前記オブジェクトに対して複数設定可能であることを特徴とする情報処理方法。 - 対象処理を自動化するためのシナリオに沿って自動的に処理を行う情報処理方法であって、
自動化する操作対象となるオブジェクトと当該オブジェクトに対する操作内容を記録した前記シナリオと、当該オブジェクト毎に当該オブジェクトを特定するために設定された複数の条件と、を参照して、
前記条件の少なくとも1つを満たすオブジェクトを操作対象となるオブジェクトとして特定し、前記シナリオに沿って当該オブジェクトに対する前記操作内容を自動的に実行するシナリオ実行ステップを備えることを特徴とする情報処理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2021063412A JP2021163504A (ja) | 2020-03-31 | 2021-04-02 | 情報処理プログラム、情報処理装置及び情報処理方法 |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2020063232A JP6910494B1 (ja) | 2020-03-31 | 2020-03-31 | 情報処理プログラム、情報処理装置及び情報処理方法 |
JP2021063412A JP2021163504A (ja) | 2020-03-31 | 2021-04-02 | 情報処理プログラム、情報処理装置及び情報処理方法 |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2020063232A Division JP6910494B1 (ja) | 2020-03-31 | 2020-03-31 | 情報処理プログラム、情報処理装置及び情報処理方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2021163504A true JP2021163504A (ja) | 2021-10-11 |
Family
ID=76967590
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2020063232A Active JP6910494B1 (ja) | 2020-03-31 | 2020-03-31 | 情報処理プログラム、情報処理装置及び情報処理方法 |
JP2021063412A Pending JP2021163504A (ja) | 2020-03-31 | 2021-04-02 | 情報処理プログラム、情報処理装置及び情報処理方法 |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2020063232A Active JP6910494B1 (ja) | 2020-03-31 | 2020-03-31 | 情報処理プログラム、情報処理装置及び情報処理方法 |
Country Status (1)
Country | Link |
---|---|
JP (2) | JP6910494B1 (ja) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2024052992A1 (ja) * | 2022-09-06 | 2024-03-14 | 日本電信電話株式会社 | テストスクリプト修正装置、テストスクリプト修正方法及びプログラム |
WO2024052991A1 (ja) * | 2022-09-06 | 2024-03-14 | 日本電信電話株式会社 | テストスクリプト修正装置、テストスクリプト修正方法及びプログラム |
Family Cites Families (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008225683A (ja) * | 2007-03-09 | 2008-09-25 | Toshiba Corp | 画面操作システムおよびプログラム |
JP4896909B2 (ja) * | 2008-03-14 | 2012-03-14 | 株式会社東芝 | シナリオ生成装置及びプログラム |
JP5238519B2 (ja) * | 2009-01-06 | 2013-07-17 | 株式会社日立製作所 | 端末操作履歴記憶システムおよびユーザ端末 |
JP5026451B2 (ja) * | 2009-02-26 | 2012-09-12 | 日本電信電話株式会社 | シナリオ編集方法、その装置及びプログラム |
JP2010286867A (ja) * | 2009-06-09 | 2010-12-24 | Hitachi Solutions Ltd | マクロスクリプト編集プログラム |
JP5327908B2 (ja) * | 2011-08-02 | 2013-10-30 | 日本電信電話株式会社 | 自動操作部品の特定方法およびその装置 |
US9600456B2 (en) * | 2011-08-30 | 2017-03-21 | Hewlett-Packard Development Company, L.P. | Automatically performing a web service operation |
JP5324638B2 (ja) * | 2011-11-24 | 2013-10-23 | 株式会社エヌ・ティ・ティ・ドコモ | 試験装置及び試験方法 |
JP5931806B2 (ja) * | 2013-06-24 | 2016-06-08 | 日本電信電話株式会社 | 画像認識による自動操作装置、その方法及びプログラム |
JP6436704B2 (ja) * | 2014-09-26 | 2018-12-12 | 株式会社野村総合研究所 | テスト実行装置、テスト実行方法およびコンピュータプログラム |
JP6561775B2 (ja) * | 2015-10-29 | 2019-08-21 | 富士通株式会社 | 操作記録再生プログラム、操作再生プログラム、操作再生方法及び操作記録再生装置 |
JP6662755B2 (ja) * | 2016-11-11 | 2020-03-11 | 日本電信電話株式会社 | オブジェクト検索装置、オブジェクト検索方法、および、オブジェクト検索プログラム |
JP6355768B1 (ja) * | 2017-01-17 | 2018-07-11 | 東日本電信電話株式会社 | 操作自動化装置 |
US10474564B1 (en) * | 2019-01-25 | 2019-11-12 | Softesis Inc. | Identifying user interface elements using element signatures |
-
2020
- 2020-03-31 JP JP2020063232A patent/JP6910494B1/ja active Active
-
2021
- 2021-04-02 JP JP2021063412A patent/JP2021163504A/ja active Pending
Also Published As
Publication number | Publication date |
---|---|
JP2021163123A (ja) | 2021-10-11 |
JP6910494B1 (ja) | 2021-07-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20120197855A1 (en) | Method and Apparatus of Generating Internet Navigation Page | |
JP2008226061A (ja) | 画像のタグ指定装置および画像検索装置ならびにそれらの動作制御方法およびそれらのコンピュータを制御するプログラム | |
CN110688600A (zh) | 基于html页面的在线编辑方法、装置、设备及存储介质 | |
WO2014002812A1 (ja) | 端末装置及びアノテーション方法並びにコンピュータシステム及びコンピュータプログラム | |
JP2021163504A (ja) | 情報処理プログラム、情報処理装置及び情報処理方法 | |
US8745521B2 (en) | System and method for annotating graphical user interface | |
JP2016177553A (ja) | 情報処理装置、情報処理システム、情報処理方法、及びプログラム | |
JP2012064207A (ja) | ホスト装置及びホスト装置のコンテンツ表示方法 | |
JP4507206B2 (ja) | インターネット情報収集装置、プログラム及び方法 | |
JP7416203B2 (ja) | 画面認識装置、画面認識方法およびプログラム | |
US20120216132A1 (en) | Embedding User Selected Content In A Web Browser Display | |
JP2019101889A (ja) | テスト実行装置及びプログラム | |
CN104268246A (zh) | 生成访问互联网站点指令脚本的方法及访问方法和装置 | |
JP3942098B2 (ja) | 情報処理システム、情報登録用情報処理装置、情報検索用情報処理装置、情報登録用情報処理方法、情報検索用情報処理方法、プログラム、及び記録媒体 | |
JP5768571B2 (ja) | 閲覧情報編集装置、プログラムおよび閲覧情報編集方法 | |
JP7339221B2 (ja) | 情報処理プログラム、情報処理方法及び情報処理システム | |
US20220342955A1 (en) | Information processing apparatus, information processing method, and program | |
JP6756019B1 (ja) | 情報処理プログラム、情報処理方法及び情報処理システム | |
JP7146210B2 (ja) | 情報処理装置、制御方法及びプログラム | |
JP7206863B2 (ja) | 表示制御方法、装置、及びプログラム | |
CN113934959A (zh) | 一种程序预览方法、装置、计算机设备和存储介质 | |
JP5138617B2 (ja) | 情報処理装置、情報処理方法、及びプログラム | |
JP2007157003A (ja) | ホームページ閲覧経路解析方法 | |
AU2021106041A4 (en) | Methods and systems for obtaining and storing web pages | |
CN113918142B (zh) | 数据采集任务代码生成方法、装置、计算机设备 |