(57)【要約】      （修正有）【課題】ウェブブラウザの操作を伴う業務プロセスを自動化するためのシステムを提供する。【解決手段】ユーザーは、第１のサーバにより提供されるウェブサイトにアクセスする。このとき、ユーザー端末は、第１のサーバから、第１の端末においてＲＰＡデータの作成を行うための作成プログラムを受信する。ユーザーは、対象となるウェブページのＵＲＬを入力欄に入力して「表示」ボタンをクリックする。必要な操作の指定がすべて済んだら、ウェブサイトの操作欄には、操作履歴が表示される。ユーザーが、操作欄で「保存」ボタンをクリックすることで、操作履歴に対応するＲＰＡデータが生成される。【選択図】図２
2019075084.tif 000002
【特許請求の範囲】
【請求項１】
ウェブブラウザの操作を伴う業務プロセスを自動化するための方法であって、人間が指定した操作をコンピュータにより読み込み可能なデータとして記述するために、
ウェブブラウザに、操作の対象となるウェブページのキャプチャ画像を表示するステップと、
前記キャプチャ画像上で選択可能なエレメントに対する選択を受け取るステップと、
前記ウェブブラウザに、選択された前記エレメントに関連づけられた選択可能な１又は複数の操作を表示するステップと、
前記１又は複数の操作のうちのいずれかに対する選択を指定として受け取るステップと、
選択された１又は複数のエレメントに対して指定された操作を記述した１又は複数のデータを生成するステップと
を含み、
前記ウェブページ内の各エレメントは、各エレメントの前記ウェブページにおける表示上の位置に対応する前記キャプチャ画像上の位置に、対応するオブジェクトを配置することで選択可能とされることを特徴とする方法。
【請求項２】
前記オブジェクトは、対応するエレメントを囲う矩形形状であることを特徴とする請求項１に記載の方法。
【請求項３】
前記指定された操作が前記ウェブページに表示上の変化をもたらす場合、操作対象となるウェブページのキャプチャ画像を再度表示することを特徴とする請求項１又は２に記載の方法。
【請求項４】
前記指定された操作は、ファイルへの出力又はファイルからの入力であることを特徴とする請求項１から３のいずれかに記載の方法。
【請求項５】
同一又は異なるウェブページの複数のエレメントに対して操作が指定可能であることを特徴とする請求項１から８のいずれかに記載の方法。
【請求項６】
コンピュータに、ウェブブラウザの操作を伴う業務プロセスを自動化するための方法を実行させるためのプログラムであって、前記方法は、人間が指定した操作をコンピュータにより読み込み可能なデータとして記述するために、
ウェブブラウザに、操作の対象となるウェブページのキャプチャ画像を表示するステップと、
前記キャプチャ画像上で選択可能なエレメントに対する選択を受け取るステップと、
前記ウェブブラウザに、選択された前記エレメントに関連づけられた選択可能な１又は複数の操作を表示するステップと、
前記１又は複数の操作のうちのいずれかに対する選択を指定として受け取るステップと、
選択された１又は複数のエレメントに対して指定された操作を記述した１又は複数のデータを生成するステップとを含み、
前記ウェブページ内の各エレメントは、各エレメントの前記ウェブページにおける表示上の位置に対応する前記キャプチャ画像上の位置に、対応するオブジェクトを配置することで選択可能とされることを特徴とするプログラム。
【請求項７】
ウェブブラウザの操作を伴う業務プロセスを自動化するための方法であって、人間が指定した操作をコンピュータにより読み込み可能なデータとして記述するために、
サーバが、
操作の対象となるウェブページのキャプチャ画像及びソースコードを受信するステップと、
前記ソースコードを解析して前記ソースコードにおける各エレメントの位置を特定するステップと、
各エレメントの前記ウェブページにおける表示上の位置を特定するステップと、
前記キャプチャ画像並びに各エレメントの前記ソースコードにおける位置及び前記表示上の位置をユーザー端末に送信するステップと
を含み、
前記ユーザー端末が、
ウェブブラウザに、受信した前記キャプチャ画像を表示するステップと、
前記キャプチャ画像上で選択可能なエレメントに対する選択を受け取るステップと、
前記ウェブブラウザに、選択された前記エレメントに関連づけられた選択可能な１又は複数の操作を表示するステップと、
前記１又は複数の操作のうちのいずれかに対する選択を指定として受け取るステップと、
選択された１又は複数のエレメントに対して指定された操作を記述した１又は複数のデータを生成して前記サーバに送信するステップと
を含み、
前記ウェブページ内の各エレメントは、各エレメントの前記ウェブページにおける表示上の位置に対応する前記キャプチャ画像上の位置に、対応するオブジェクトを配置することで選択可能とされることを特徴とする方法。
【請求項８】
前記サーバは、クラウド上の１又は複数のインスタンスであることを特徴とする請求項７に記載の方法。
【請求項９】
サーバ及びユーザー端末に、ウェブブラウザの操作を伴う業務プロセスを自動化するための方法を実行させるためのプログラムであって、前記方法は、人間が指定した操作をコンピュータにより読み込み可能なデータとして記述するために、
サーバが、
操作の対象となるウェブページのキャプチャ画像及びソースコードを受信するステップと、
前記ソースコードを解析して前記ソースコードにおける各エレメントの位置を特定するステップと、
各エレメントの前記ウェブページにおける表示上の位置を特定するステップと、
前記キャプチャ画像並びに各エレメントの前記ソースコードにおける位置及び前記表示上の位置をユーザー端末に送信するステップと
を含み、
前記ユーザー端末が、
ウェブブラウザに、受信した前記キャプチャ画像を表示するステップと、
前記キャプチャ画像上で選択可能なエレメントに対する選択を受け取るステップと、
前記ウェブブラウザに、選択された前記エレメントに関連づけられた選択可能な１又は複数の操作を表示するステップと、
前記１又は複数の操作のうちのいずれかに対する選択を指定として受け取るステップと、
選択された１又は複数のエレメントに対して指定された操作を記述した１又は複数のデータを生成して前記サーバに送信するステップと
を含み、
前記ウェブページ内の各エレメントは、各エレメントの前記ウェブページにおける表示上の位置に対応する前記キャプチャ画像上の位置に、対応するオブジェクトを配置することで選択可能とされることを特徴とするプログラム。
【請求項１０】
ウェブブラウザの操作を伴う業務プロセスを自動化するためのシステムであって、人間が指定した操作をコンピュータにより読み込み可能なデータとして記述するために、
操作の対象となるウェブページのキャプチャ画像及びソースコードを受信し、前記ソースコードを解析して前記ソースコードにおける各エレメントの位置及び各エレメントの前記ウェブページにおける表示上の位置を特定し、前記キャプチャ画像並びに各エレメントの前記ソースコードにおける位置及び前記表示上の位置をユーザー端末に送信するサーバと、
ウェブブラウザに、受信した前記キャプチャ画像を表示し、前記キャプチャ画像上で選択可能なエレメントに対する選択を受け取り、前記ウェブブラウザに、選択された前記エレメントに関連づけられた選択可能な１又は複数の操作を表示し、前記１又は複数の操作のうちのいずれかに対する選択を指定として受け取り、選択された１又は複数のエレメントに対して指定された操作を記述した１又は複数のデータを生成して前記サーバに送信するユーザー端末と
を備え、
前記ウェブページ内の各エレメントは、前記ユーザー端末において、各エレメントの前記ウェブページにおける表示上の位置に対応する前記キャプチャ画像上の位置に、対応するオブジェクトを配置することで選択可能とされることを特徴とするシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、業務プロセスを自動化するためのシステム、方法及びプログラムに関し、より詳細には、ウェブブラウザの操作を伴う業務プロセスを自動化するためのシステム、方法及びプログラムに関する。
【背景技術】
【０００２】
これまで工場等において導入が進んできたロボットの活用がオフィスワークにも広がりを見せている。人間がコンピュータに対して行う操作を記憶させて業務プロセスを自動化するものであり、ロボティック・プロセス・オートメーション（ＲＰＡ）と呼ばれている。操作を定型化できる業務であれば、たとえば複数のアプリケーションソフトウェアに跨る操作であっても自動化することができ、人間よりも速く、また間違いを犯すことなく正確に繰り返し続けることができることから、大きな注目を浴びている。
【発明の概要】
【発明が解決しようとする課題】
【０００３】
今後、企業にて用いられるさまざまなソフトウェアがオンプレ型からクラウド型に移行していく時流において、ＲＰＡの対象となる操作は、ウェブブラウザ上での操作が大きな割合となってくる。
【０００４】
しかしながら、従来のＲＰＡソフトウェアはウェブブラウザに対する操作を主な用途としたものではなく、改善の余地が少なくない。
【０００５】
本発明は、このような問題点に鑑みてなされたものであり、その目的は、ウェブブラウザの操作を伴う業務プロセスを自動化するためのシステム、方法及びプログラムを提供することにある。
【課題を解決するための手段】
【０００６】
このような目的を達成するために、本発明の第１の態様は、ウェブブラウザの操作を伴う業務プロセスを自動化するための方法であって、人間が指定した操作をコンピュータにより読み込み可能なデータとして記述するために、ウェブブラウザに、操作の対象となるウェブページのキャプチャ画像を表示するステップと、前記キャプチャ画像上で選択可能なエレメントに対する選択を受け取るステップと、前記ウェブブラウザに、選択された前記エレメントに関連づけられた選択可能な１又は複数の操作を表示するステップと、前記１又は複数の操作のうちのいずれかに対する選択を指定として受け取るステップと、選択された１又は複数のエレメントに対して指定された操作を記述した１又は複数のデータを生成するステップとを含むことを特徴とする。
【０００７】
また、本発明の第２の態様は、第１の態様において、前記ウェブページ内の各エレメントは、各エレメントの前記ウェブページにおける表示上の位置に対応する前記キャプチャ画像上の位置に、対応するオブジェクトを配置することで選択可能とされることを特徴とする。
【０００８】
また、本発明の第３の態様は、第２の態様において、前記オブジェクトは、対応するエレメントを囲う矩形形状であることを特徴とする。
【０００９】
また、本発明の第４の態様は、第３の態様において、前記オブジェクトは、選択前は透明であり、選択後は境界線が表示されることを特徴とする。
【００１０】
また、本発明の第５の態様は、第１から第４のいずれかの態様において、前記指定された操作が前記ウェブページに表示上の変化をもたらす場合、操作対象となるウェブページのキャプチャ画像を再度表示することを特徴とする。
【００１１】
また、本発明の第６の態様は、第５の態様において、前記指定された操作は、リンク又はプルダウンメニューのクリック又はタップであることを特徴とする。
【００１２】
また、本発明の第７の態様は、第５の態様において、前記指定された操作は、入力フォームへの入力であることを特徴とする。
【００１３】
また、本発明の第８の態様は、第１から第４のいずれかの態様において、前記指定された操作は、ファイルへの出力又はファイルからの入力であることを特徴とする。
【００１４】
また、本発明の第９の態様は、第１から第８のいずれかの態様において、同一又は異なるウェブページの複数のエレメントに対して操作が指定可能であることを特徴とする。
【００１５】
また、本発明の第１０の態様は、コンピュータに、ウェブブラウザの操作を伴う業務プロセスを自動化するための方法を実行させるためのプログラムであって、前記方法は、人間が指定した操作をコンピュータにより読み込み可能なデータとして記述するために、ウェブブラウザに、操作の対象となるウェブページのキャプチャ画像を表示するステップと、前記キャプチャ画像上で選択可能なエレメントに対する選択を受け取るステップと、前記ウェブブラウザに、選択された前記エレメントに関連づけられた選択可能な１又は複数の操作を表示するステップと、前記１又は複数の操作のうちのいずれかに対する選択を指定として受け取るステップとを含み、選択された１又は複数のエレメントに対して指定された操作を記述した１又は複数のデータを送信することを特徴とする。
【００１６】
また、本発明の第１１の態様は、ウェブブラウザの操作を伴う業務プロセスを自動化するための方法であって、人間が指定した操作をコンピュータにより読み込み可能なデータとして記述するために、サーバが、操作の対象となるウェブページのキャプチャ画像及びソースコードを受信するステップと、前記ソースコードを解析して前記ソースコードにおける各エレメントの位置を特定するステップと、各エレメントの前記ウェブページにおける表示上の位置を特定するステップと、前記キャプチャ画像並びに各エレメントの前記ソースコードにおける位置及び前記表示上の位置をユーザー端末に送信するステップとを含み、前記ユーザー端末が、ウェブブラウザに、受信した前記キャプチャ画像を表示するステップと、前記キャプチャ画像上で選択可能なエレメントに対する選択を受け取るステップと、前記ウェブブラウザに、選択された前記エレメントに関連づけられた選択可能な１又は複数の操作を表示するステップと、前記１又は複数の操作のうちのいずれかに対する選択を指定として受け取るステップと、選択された１又は複数のエレメントに対して指定された操作を記述した１又は複数のデータを生成して前記サーバに送信するステップとを含み、前記ウェブページ内の各エレメントは、各エレメントの前記ウェブページにおける表示上の位置に対応する前記キャプチャ画像上の位置に、対応するオブジェクトを配置することで選択可能とされることを特徴とする。
【００１７】
また、本発明の第１２の態様は、第１１の態様において、前記ソースコードにおける位置は、絶対パスで示されることを特徴とする。
【００１８】
また、本発明の第１３の態様は、第１１又は第１２の態様において、前記表示上の位置は、前記ウェブページの横幅を所定の幅と定めたときの位置であることを特徴とする。
【００１９】
また、本発明の第１４の態様は、第１１から第１３のいずれかの態様において、前記表示上の位置は、前記ウェブページ内の所定の点を基準とした座標で示されることを特徴とする。
【００２０】
また、本発明の第１５の態様は、第１４の態様において、前記所定の点は、前記ウェブページの上端の左端又は右端であることを特徴とする。
【００２１】
また、本発明の第１６の態様は、第１１から第１５のいずれかの態様において、前記１又は複数のデータは、ＪＳＯＮ形式であることを特徴とする。
【００２２】
また、本発明の第１７の態様は、第１６の態様において、前記サーバは、前記１又は複数のデータを、ブロックスタイルのＹＡＭＬ形式に変換して記憶することを特徴とする。
【００２３】
また、本発明の第１８の態様は、第１１から第１７のいずれかの態様において、前記サーバは、クラウド上の１又は複数のインスタンスであることを特徴とする。
【００２４】
また、本発明の第１９の態様は、サーバ及びユーザー端末に、ウェブブラウザの操作を伴う業務プロセスを自動化するための方法を実行させるためのプログラムであって、前記方法は、人間が指定した操作をコンピュータにより読み込み可能なデータとして記述するために、サーバが、操作の対象となるウェブページのキャプチャ画像及びソースコードを受信するステップと、前記ソースコードを解析して前記ソースコードにおける各エレメントの位置を特定するステップと、各エレメントの前記ウェブページにおける表示上の位置を特定するステップと、前記キャプチャ画像並びに各エレメントの前記ソースコードにおける位置及び前記表示上の位置をユーザー端末に送信するステップとを含み、前記ユーザー端末が、ウェブブラウザに、受信した前記キャプチャ画像を表示するステップと、前記キャプチャ画像上で選択可能なエレメントに対する選択を受け取るステップと、前記ウェブブラウザに、選択された前記エレメントに関連づけられた選択可能な１又は複数の操作を表示するステップと、前記１又は複数の操作のうちのいずれかに対する選択を指定として受け取るステップと、選択された１又は複数のエレメントに対して指定された操作を記述した１又は複数のデータを生成して前記サーバに送信するステップとを含み、前記ウェブページ内の各エレメントは、各エレメントの前記ウェブページにおける表示上の位置に対応する前記キャプチャ画像上の位置に、対応するオブジェクトを配置することで選択可能とされることを特徴とする。
【００２５】
また、本発明の第２０の態様は、ウェブブラウザの操作を伴う業務プロセスを自動化するためのシステムであって、人間が指定した操作をコンピュータにより読み込み可能なデータとして記述するために、操作の対象となるウェブページのキャプチャ画像及びソースコードを受信し、前記ソースコードを解析して前記ソースコードにおける各エレメントの位置及び各エレメントの前記ウェブページにおける表示上の位置を特定し、前記キャプチャ画像並びに各エレメントの前記ソースコードにおける位置及び前記表示上の位置をユーザー端末に送信するサーバと、ウェブブラウザに、受信した前記キャプチャ画像を表示し、前記キャプチャ画像上で選択可能なエレメントに対する選択を受け取り、前記ウェブブラウザに、選択された前記エレメントに関連づけられた選択可能な１又は複数の操作を表示し、前記１又は複数の操作のうちのいずれかに対する選択を指定として受け取り、選択された１又は複数のエレメントに対して指定された操作を記述した１又は複数のデータを生成して前記サーバに送信するユーザー端末とを備え、前記ウェブページ内の各エレメントは、前記ユーザー端末において、各エレメントの前記ウェブページにおける表示上の位置に対応する前記キャプチャ画像上の位置に、対応するオブジェクトを配置することで選択可能とされることを特徴とする。
【発明の効果】
【００２６】
本発明の一態様によれば、ユーザーは、操作対象となるウェブページのキャプチャ画像を介して自動化すべき各エレメントへの操作を指定することができ、キャプチャ画像を取得できないウェブページは限られていることから、容易に広範なウェブページをＲＰＡの対象とすることが可能となる。
【図面の簡単な説明】
【００２７】
【図１】本発明の第１の実施形態にかかる自動化のためのシステムを示す図である。
【図２】本発明の第１の実施形態にかかるロボット作成のためのユーザーの作業手順の流れを示す図である。
【図３】本発明の第１の実施形態にかかるロボット作成手順の流れを示す図である。
【図４】本発明の第１の実施形態にかかるロボット作成手順の流れを示す図である。
【図５】本発明の第１の実施形態にかかるロボット作成手順の流れを示す図である。
【図６】本発明の第１の実施形態にかかるロボット作成手順の流れを示す図である。
【図７】本発明の第１の実施形態にかかるロボット作成手順の流れを示す図である。
【図８】本発明の第１の実施形態にかかるロボット作成手順の流れを示す図である。
【図９】本発明の第１の実施形態にかかるロボット作成手順の流れを示す図である。
【図１０】本発明の第１の実施形態にかかるロボット作成手順の流れを示す図である。
【発明を実施するための形態】
【００２８】
コンピュータに自動的にウェブブラウザの操作を伴う業務プロセスを実行させるためには、いわゆる「ロボット」の作成とその実行という２つの工程がある。ここで、人間が行った操作が記述されたコンピュータにより実行可能なプログラム若しくはコード又はコンピュータにより実行可能なプログラムが読込可能な人間が行った操作が記述されたデータ等、「ロボット」という用語は多義的に用い得ることから、本明細書では概略的な説明を目的としてのみ用いる。
【００２９】
また、人間が行った操作又は指定した操作をコンピュータにより解釈乃至読込可能なデータ（以下「ＲＰＡデータ」とも呼ぶ。）として記述することができれば、当該データに基づいて、必要であれば、たとえば後述するＳｅｌｅｎｉｕｍのようなウェブブラウザを操作するためのアプリケーションで実行可能又は解釈乃至読込可能な形式に変換を行って、又は当該アプリケーションで実行可能又は解釈乃至読込可能な形式のＪａｖａｓｃｒｉｐｔ（登録商標）のようなプログラムを生成して、指定された操作の自動的な実行が可能であることから、その詳細については、説明しない。
【００３０】
本発明は、プログラミングについての高度な能力を有しない者であっても、さまざまなウェブサイト上での業務の自動化を可能とするために、人間が行った操作又は指定した操作をコンピュータにより解釈可能なデータとして記述することを容易にする。言い換えれば、本発明は、いわゆる「ロボット」の作成を容易にすることができる。
【００３１】
以下、図面を参照して本発明の実施形態を詳細に説明する。
【００３２】
（第１の実施形態）
図１は、本実施形態にかかる自動化のための構成を示している。サーバシステム１００は、ユーザー端末１３０と通信を行う第１のサーバ１１０と、第１のサーバ１１０からの命令に基づいて、対象となるウェブサイトにアクセスを行う第２のサーバ１２０とを備える。当該ウェブサイトは、インターネット上の第３のサーバ１４０により提供される。第１のサーバ１１０及び第２のサーバ１２０は、それぞれクラウド上のインスタンスとしてもよく、後述するように、第２のサーバ１２０に対応するインスタンスを１又は複数のロボット毎に生成してもよい。以下では、この構成を例に説明を行うものの、第２のサーバ１２０を第１のサーバ１１０と別個のサーバとすることなく、同一のサーバとしてもよく、この場合には、これらのサーバ間でのデータの授受は行われない。サーバシステム１００とユーザー端末１３０を併せて「システム」と呼ぶことがある。
【００３３】
第１のサーバ１１０は、通信インターフェースなどの通信部１１１と、プロセッサ、ＣＰＵ等の処理部１１２と、メモリ、ハードディスク等の記憶装置又は記憶媒体を含む記憶部１１３とを備え、処理部１１２において、後述する各処理を行うためのプログラムを実行することによって構成することができる。第１のサーバ１１０は、１又は複数のサーバないしインスタンスを含むことがあり、また当該プログラムは、１又は複数のプログラムを含むことがあり、また、コンピュータ読み取り可能な記憶媒体に記録して非一過性のプログラムプロダクトとすることができる。
【００３４】
第１のサーバ１１０以外の装置、サーバ又はインスタンスについて、個別に図示はしないものの、第１のサーバ１１０と同様に、通信部、処理部及び記憶部が備えられ、１又は複数のプログラムが処理部により実行されることで所要の機能が実現される。
【００３５】
ＲＰＡデータの作成
本実施形態におけるＲＰＡデータ作成の手順を説明する。まず、ユーザーは、ユーザー端末１３０から、第１のサーバ１１０により提供されるウェブサイト３００にアクセスする（Ｓ２０１）。アクセスの際に、必要に応じてログインが行われる。このとき、ユーザー端末１３０は、第１のサーバ１１０又はシステム１００から、第１の端末１３０においてウェブブラウザを用いてＲＰＡデータの作成を行うための作成プログラムを受信する。当該作成プログラムは、たとえばＪａｖａＳｃｒｉｐｔとすることができ、以後ユーザーにより行われる操作をユーザー端末１３０に記憶させ、また、ユーザーの操作に応じて図４以降に示すようにウェブサイト３００の表示を更新させる。
【００３６】
次に、ユーザーは、ウェブサイト３００において、新たに作成するロボットにタイトルを与えて、「作成」ボタンをクリック又はタップする（Ｓ２０２）。図３の例では、「テストロボット」というタイトルを与えており、また、対象となるウェブサイトに対する操作の結果として取得されるデータを出力するための出力ファイルとして、Ｅｘｃｅｌ（登録商標）ファイル「テストロボット出力ファイル.xlsx」を当該ロボットに関連づけている。
【００３７】
ユーザー端末１３０から新規ロボットの作成要求を受信した第１のサーバ１１０は、当該ロボットのためのインスタンスとして第２のサーバ１２０を生成する。ロボット毎にインスタンスを生成するか、生成されているインスタンスを割り当ててもよく、あるいは、インスタンス毎に４個、５個等の所定の数のロボットを割り当ててもよい。この場合、割り当て可能なインスタンスがなければ新たにインスタンスを生成することになる。また、第１のサーバ１１０は、関連づけられた出力ファイルを当該ロボットと関連づけて記憶部１１３又は第１のサーバ１１０からネットワークを介してアクセス可能な記憶装置又は記憶媒体に記憶する。
【００３８】
次に、ユーザーは、対象となるウェブページのＵＲＬをＵＲＬ入力欄４０１に入力して「表示」ボタン４０２をクリック又はタップする（Ｓ２０３）。図４の例では、ある企業のウェブサイトのニュースページの画像がウェブサイト３００の表示欄３１０に表示されている。後述するように、ソースコードの解析結果に基づいて、当該ニュースページの各エレメントは当該画像上で選択可能とされている。ウェブサイト３００には、表示欄３１０の他に、操作欄３２０が表示されている。操作欄３２０には、ユーザーが行った操作の履歴が残されていく。各操作は、操作の種類と対象で構成され、ここでは、「ＵＲＬを開く」という種類とともに、その対象であるＵＲＬが示されている。
【００３９】
ユーザー端末１３０からウェブページの表示要求を受信した第１のサーバ１１０は、第２のサーバ１２０にブラウザを起動させて、当該ＵＲＬを表示させる。第２のサーバ１２０では、Ｓｅｌｅｎｉｕｍのようなアプリケーションを介して、ブラウザの操作を行うことが可能である。ここで、第２のサーバ１２０におけるブラウザの起動をこのときに行うことは必ずしも必要ではなく、また、第２のサーバ１２０は、ブラウザ上で当該ＵＲＬの表示を行うものの、ディスプレイに表示することは必要ではない。
【００４０】
第２のサーバ１２０は、ＵＲＬの表示に成功すると、表示したウェブページを画像としてキャプチャし、そのソースコードとともに第１のサーバ１１０に受け渡す。第１のサーバ１１０は、受け取った画像及びソースコードの解析結果をユーザー端末１３０に送信し、ユーザー端末１３０は、図４に示すようにウェブサイト３００の表示欄３１０を更新する。当該更新は、上述した生成プログラムが画像及び解析結果に基づいて行う。解析は、第２のサーバ１２０で行ってしまい、解析結果を第１のサーバ１１０に渡すこともできる。解析の詳細については、後述する。
【００４１】
ユーザーが表示欄３１０に表示された対象となるウェブページ内のいずれかのエレメント５０１を選択した場合（Ｓ２０４）、当該エレメントに対して可能な操作の一覧が操作欄３２０に表示される。図５の例では、「テキストの取得」「繰り返しを抽出」「クリック」「マウスカーソルを移動」及び「リンク先を保存」が選択肢として示されている。ここで「繰り返しを抽出」が選択されると、操作の種類が決定される（Ｓ２０５−１）。
【００４２】
「繰り返しを抽出」が操作の種類であるときには、操作の対象については、ソースコードの解析結果に基づいて、選択されたエレメント５０１と同一又は類似のパスを有するエレメントが選択される。図６では、同一ｃｌａｓｓのｄｉｖタグを有するエレメント５０２乃至５０６が自動的に選択されている。ここで、名前を与えて「決定」ボタンをクリック又はタップすることで、繰り返し操作の対象が決定される（Ｓ２０５−２）。
【００４３】
図６では、選択されたエレメント５０１と同一又は類似のパスを有するエレメントを自動的に選択させたが、選択されたエレメント５０１に対して繰り返されているエレメントの候補をたとえばハイライトすることによって示し、ユーザーが２つ目のエレメントを選択したことに応じて、両者に共通する絶対パスを有するエレメントを繰り返し対象として選択することもできる。
【００４４】
また、「繰り返しを抽出」が操作の種類であるときには、ここまでの操作で繰り返し操作の対象は定まっているものの、繰り返すべき操作の内容が未定である。そこで、ユーザーは、操作欄３２０の「＋」をクリック又はタップすることで、再度当該エレメントに対して選択可能な操作の一覧を操作欄３２０に表示させて、「テキストの取得」を選択する（Ｓ２０５−３）。そして、図７に示すように、操作欄３２０で「確定」ボタンをタップ又はクリックすることで、この繰り返し操作の全体が決定される。繰り返し操作を確定させるための詳細については、当然「確定」ボタンの他にもさまざまなＵＩとして表現が考えられる。
【００４５】
「繰り返しを抽出」の他に、たとえば「クリック」という操作が選択された場合には、リンクのクリックであれば画面が遷移し、プルダウンメニューのクリックであれば選択肢が表示されることにより、操作の対象となるウェブページに変化をもたらすことから、新たにＵＲＬを開き直して、ウェブサイト３００の表示欄３１０を更新することとなる。また、画面の変化を伴わずに、別のエレメントを選択して同様に操作の種類及び対象を指定してもよい。
【００４６】
ウェブサイトに対する操作が終了したら、ユーザーは、この例のようにテキストの取得をしている場合、図８に示される「ファイルに出力」という操作を選択し、あらかじめ関連づけておいた出力ファイルへの出力形式を指定する（Ｓ２０６）。出力ファイルの関連づけはここで行ってもよい。図９に示すように、出力ファイルがスプレッドシートの際には、抽出したテキストの出力開始セルを指定することができるものの、出力形式の指定は必ずしも必須ではない。また、あらかじめ設けておいた出力ファイルは雛型として用い、別途保存場所、ファイル名等を指定可能としてもよい。
【００４７】
必要な操作の指定がすべて済んだら、ウェブサイト３００の操作欄３２０には、操作履歴が表示されている。ユーザーは、操作欄３２０で「保存」ボタンをタップ又はクリックすることで、ロボットの作成を完了する（Ｓ２０７）。このとき、ユーザー端末１３０は、選択されたエレメントに対する操作という操作履歴に対応するＲＰＡデータを生成して第１のサーバ１１０に送信し、第１のサーバ１１０は、必要に応じて当該データに変換を施して記憶する。
【００４８】
たとえば、ユーザー端末１３０から送信されるＲＰＡデータをＪＳＯＮ形式、第１のサーバ１１０又はシステム１００における変換後のデータをブロックスタイルのＹＡＭＬ形式とすることができる。また、ユーザー端末１３０からの送信は、すべての操作の指定が完了するのを待つのではなく、操作が行われるごとに行うようにしてもよい。
【００４９】
上述の「ＵＲＬを開く」という操作を例にすると、当該操作時に、たとえば、ユーザー端末１３０に以下の形式のデータが保存される。
{
type: 'open_url',
id: 'd0e0ff67-980f-4321-8564-458087f12515',
browser_size:
width: 1280,
height: 1024,
url: 'https://www.xxxx.co.jp/news.html'
comment:
}
【００５０】
他の操作が行われた場合にも同様の形式のデータが生成され、操作が行われた順序で以下のように配列形式で保存されていき、すべての操作完了時又は各操作の完了時に、ユーザー端末１３０に記憶された並列データが第１のサーバ１１０に送信されるようにすることができる。
[
{
type: 'open_url',
...(省略)
},
{
type: 'foreach',
...(省略)
}
]
【００５１】
第１のサーバ１１０では、受け取った配列データを下記のようなＹＡＭＬ形式のデータに変換し、文字列として保存することができる。
settings:
default_error_handling: fail_and_stop
code:
- type: open_url
id: d0e0ff67-980f-4321-8564-458087f12515
browser_size:
width: 1280
height: 1024
url: https://www.xxxx.co.jp/news.html
comment:
- type: foreach
id: b0a04b57-2648-491f-8479-32fa3866690d
(以下略)
【００５２】
なお、「××のみに基づいて」、「××のみに応じて」、「××のみの場合」というように「のみ」との記載がなければ、本明細書においては、付加的な情報も考慮し得ることが想定されていることに留意されたい。
【００５３】
また、念のため、なんらかの方法、プログラム、端末、装置、サーバ又はシステム（以下「方法等」）において、本明細書で記述された動作と異なる動作を行う側面があるとしても、本発明の各態様は、本明細書で記述された動作のいずれかと同一の動作を対象とするものであり、本明細書で記述された動作と異なる動作が存在することは、当該方法等を本発明の各態様の範囲外とするものではないことを付言する。
【００５４】
ソースコード解析の詳細 
第１のサーバ１１０において行われる対象となるウェブページのソースコード解析は、ソースコードにおける各エレメントの位置の特定と、各エレメントの当該ウェブページにおける表示上の位置の特定を含む。また、各エレメントのタグネーム及び属性並びに表示上の高さ及び幅のうちの少なくとも一つを含むことができる。
【００５５】
ユーザー端末１３０では、生成プログラムが、これらの位置情報に基づいて、対象となるウェブページ内の各エレメントに対し、各エレメントの当該ウェブページにおける表示上の位置に対応するキャプチャ画像上の位置に、対応するオブジェクトを配置する。
【００５６】
オブジェクトは、たとえば、図５に示したように、対応するエレメントを囲う矩形形状の枠とすることができ、選択前は透明であり、選択後は境界線が表示されるようにすることができる。
【００５７】
各エレメントのソースコードにおける位置は、絶対パスで示すことができ、各エレメントの当該ウェブページにおける表示上の位置は、前記ウェブページの横幅を所定の幅、たとえば１２８０ピクセルと定めたときの位置とすることができる。当該位置は、ウェブページを最も上にスクロールした際の左上又は右上、換言すれば、ウェブページの上端の左端又は右端を原点とした座標で表すことができる。当該座標は、各エレメントの左上、右上等のいずれかの頂点の座標とすることができる。
【００５８】
（第２の実施形態）  
第１の実施形態では、繰り返し現れるエレメントに対して同一の操作を繰り返したが、同一のエレメントに対して指定した異なる操作を繰り返すこともできる。たとえば、検索エンジンを開いて、あらかじめスプレッドシートに入力されたキーワードを入力フォームに入力して検索結果からテキストを取得する操作を繰り返すことができる。
【符号の説明】
【００５９】
１００  システム
１１０  第１のサーバ
１１１  通信部
１１２  処理部
１１３  記憶部
１２０  第２のサーバ
１３０  ユーザー端末
１４０  第３のサーバ
【図１】
2019075084.tif 000003
【図２】
2019075084.tif 000004
【図３】
2019075084.tif 000005
【図４】
2019075084.tif 000006
【図５】
2019075084.tif 000007
【図６】
2019075084.tif 000008
【図７】
2019075084.tif 000009
【図８】
2019075084.tif 000010
【図９】
2019075084.tif 000011
【図１０】
2019075084.tif 000012
【手続補正書】
【提出日】平成30年11月21日(2018.11.21)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
ウェブブラウザの操作を伴う業務プロセスを自動化するための方法であって、人間が指定した操作をコンピュータにより読み込み可能なデータとして記述するために、
ウェブブラウザに、操作の対象となるウェブページのキャプチャ画像を表示するステップと、
前記キャプチャ画像上で選択可能なエレメントに対する選択を受け取るステップと、
前記ウェブブラウザに、選択された前記エレメントに関連づけられた選択可能な１又は複数の操作を表示するステップと、
前記１又は複数の操作のうちのいずれかに対する選択を指定として受け取るステップと、
選択された１又は複数のエレメントに対して指定された操作を記述した１又は複数のデータを生成するステップと
を含み、
前記ウェブページ内の各エレメントは、各エレメントの前記ウェブページにおける表示上の位置に対応する前記キャプチャ画像上の位置に、対応するオブジェクトを配置することで選択可能とされることを特徴とする方法。
【請求項２】
前記オブジェクトは、対応するエレメントを囲う矩形形状であることを特徴とする請求項１に記載の方法。
【請求項３】
前記指定された操作が前記ウェブページに表示上の変化をもたらす場合、操作対象となるウェブページのキャプチャ画像を再度表示することを特徴とする請求項１又は２に記載の方法。
【請求項４】
前記指定された操作は、ファイルへの出力又はファイルからの入力であることを特徴とする請求項１から３のいずれかに記載の方法。
【請求項５】
同一又は異なるウェブページの複数のエレメントに対して操作が指定可能であることを特徴とする請求項１から４のいずれかに記載の方法。
【請求項６】
コンピュータに、ウェブブラウザの操作を伴う業務プロセスを自動化するための方法を実行させるためのプログラムであって、前記方法は、人間が指定した操作をコンピュータにより読み込み可能なデータとして記述するために、
ウェブブラウザに、操作の対象となるウェブページのキャプチャ画像を表示するステップと、
前記キャプチャ画像上で選択可能なエレメントに対する選択を受け取るステップと、
前記ウェブブラウザに、選択された前記エレメントに関連づけられた選択可能な１又は複数の操作を表示するステップと、
前記１又は複数の操作のうちのいずれかに対する選択を指定として受け取るステップと、
選択された１又は複数のエレメントに対して指定された操作を記述した１又は複数のデータを生成するステップとを含み、
前記ウェブページ内の各エレメントは、各エレメントの前記ウェブページにおける表示上の位置に対応する前記キャプチャ画像上の位置に、対応するオブジェクトを配置することで選択可能とされることを特徴とするプログラム。
【請求項７】
ウェブブラウザの操作を伴う業務プロセスを自動化するための方法であって、人間が指定した操作をコンピュータにより読み込み可能なデータとして記述するために、
サーバが、
操作の対象となるウェブページのキャプチャ画像及びソースコードを受信するステップと、
前記ソースコードを解析して前記ソースコードにおける各エレメントの位置を特定するステップと、
各エレメントの前記ウェブページにおける表示上の位置を特定するステップと、
前記キャプチャ画像並びに各エレメントの前記ソースコードにおける位置及び前記表示上の位置をユーザー端末に送信するステップと
を含み、
前記ユーザー端末が、
ウェブブラウザに、受信した前記キャプチャ画像を表示するステップと、
前記キャプチャ画像上で選択可能なエレメントに対する選択を受け取るステップと、
前記ウェブブラウザに、選択された前記エレメントに関連づけられた選択可能な１又は複数の操作を表示するステップと、
前記１又は複数の操作のうちのいずれかに対する選択を指定として受け取るステップと、
選択された１又は複数のエレメントに対して指定された操作を記述した１又は複数のデータを生成して前記サーバに送信するステップと
を含み、
前記ウェブページ内の各エレメントは、各エレメントの前記ウェブページにおける表示上の位置に対応する前記キャプチャ画像上の位置に、対応するオブジェクトを配置することで選択可能とされることを特徴とする方法。
【請求項８】
前記サーバは、クラウド上の１又は複数のインスタンスであることを特徴とする請求項７に記載の方法。
【請求項９】
サーバ及びユーザー端末に、ウェブブラウザの操作を伴う業務プロセスを自動化するための方法を実行させるためのプログラムであって、前記方法は、人間が指定した操作をコンピュータにより読み込み可能なデータとして記述するために、
サーバが、
操作の対象となるウェブページのキャプチャ画像及びソースコードを受信するステップと、
前記ソースコードを解析して前記ソースコードにおける各エレメントの位置を特定するステップと、
各エレメントの前記ウェブページにおける表示上の位置を特定するステップと、
前記キャプチャ画像並びに各エレメントの前記ソースコードにおける位置及び前記表示上の位置をユーザー端末に送信するステップと
を含み、
前記ユーザー端末が、
ウェブブラウザに、受信した前記キャプチャ画像を表示するステップと、
前記キャプチャ画像上で選択可能なエレメントに対する選択を受け取るステップと、
前記ウェブブラウザに、選択された前記エレメントに関連づけられた選択可能な１又は複数の操作を表示するステップと、
前記１又は複数の操作のうちのいずれかに対する選択を指定として受け取るステップと、
選択された１又は複数のエレメントに対して指定された操作を記述した１又は複数のデータを生成して前記サーバに送信するステップと
を含み、
前記ウェブページ内の各エレメントは、各エレメントの前記ウェブページにおける表示上の位置に対応する前記キャプチャ画像上の位置に、対応するオブジェクトを配置することで選択可能とされることを特徴とするプログラム。
【請求項１０】
ウェブブラウザの操作を伴う業務プロセスを自動化するためのシステムであって、人間が指定した操作をコンピュータにより読み込み可能なデータとして記述するために、
操作の対象となるウェブページのキャプチャ画像及びソースコードを受信し、前記ソースコードを解析して前記ソースコードにおける各エレメントの位置及び各エレメントの前記ウェブページにおける表示上の位置を特定し、前記キャプチャ画像並びに各エレメントの前記ソースコードにおける位置及び前記表示上の位置をユーザー端末に送信するサーバと、
ウェブブラウザに、受信した前記キャプチャ画像を表示し、前記キャプチャ画像上で選択可能なエレメントに対する選択を受け取り、前記ウェブブラウザに、選択された前記エレメントに関連づけられた選択可能な１又は複数の操作を表示し、前記１又は複数の操作のうちのいずれかに対する選択を指定として受け取り、選択された１又は複数のエレメントに対して指定された操作を記述した１又は複数のデータを生成して前記サーバに送信するユーザー端末と
を備え、
前記ウェブページ内の各エレメントは、前記ユーザー端末において、各エレメントの前記ウェブページにおける表示上の位置に対応する前記キャプチャ画像上の位置に、対応するオブジェクトを配置することで選択可能とされることを特徴とするシステム。