JP2019074889A - ウェブブラウザの操作を伴う業務プロセスを自動化するためのシステム、方法及びプログラム - Google Patents
ウェブブラウザの操作を伴う業務プロセスを自動化するためのシステム、方法及びプログラム Download PDFInfo
- Publication number
- JP2019074889A JP2019074889A JP2017199890A JP2017199890A JP2019074889A JP 2019074889 A JP2019074889 A JP 2019074889A JP 2017199890 A JP2017199890 A JP 2017199890A JP 2017199890 A JP2017199890 A JP 2017199890A JP 2019074889 A JP2019074889 A JP 2019074889A
- Authority
- JP
- Japan
- Prior art keywords
- web page
- captured image
- server
- web browser
- display
- 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
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/34—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0484—Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/10—Office automation; Time management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Business, Economics & Management (AREA)
- Human Resources & Organizations (AREA)
- Strategic Management (AREA)
- Software Systems (AREA)
- Entrepreneurship & Innovation (AREA)
- Quality & Reliability (AREA)
- Marketing (AREA)
- Economics (AREA)
- Computer Hardware Design (AREA)
- Operations Research (AREA)
- Tourism & Hospitality (AREA)
- General Business, Economics & Management (AREA)
- Human Computer Interaction (AREA)
- Data Mining & Analysis (AREA)
- Information Transfer Between Computers (AREA)
- Stored Programmes (AREA)
- User Interface Of Digital Computer (AREA)
Abstract
【課題】ウェブブラウザの操作を伴う業務プロセスを自動化する。【解決手段】ユーザは、サーバにより提供されるウェブサイトにアクセスするS201。このとき、ユーザ端末は、サーバから、ユーザ端末においてロボティック・プロセス・オートメーション(RPA)データの作成を行うためのプログラムを受信する。ユーザは、対象となるウェブページのURLを入力欄に入力し「表示」ボタンをクリックするS203。表示されたページについてエレメントの選択S204とそれに対する操作S205を行う。必要な操作の指定がすべて済むと、ウェブサイトの操作欄には操作履歴が表示される。ユーザが、操作欄で「保存」ボタンをクリックすることで、操作履歴に対応するRPAデータが生成される。このRPAデータを解釈実行することで業務プロセスの自動化が行える。【選択図】図2
Description
本発明は、業務プロセスを自動化するためのシステム、方法及びプログラムに関し、より詳細には、ウェブブラウザの操作を伴う業務プロセスを自動化するためのシステム、方法及びプログラムに関する。
これまで工場等において導入が進んできたロボットの活用がオフィスワークにも広がりを見せている。人間がコンピュータに対して行う操作を記憶させて業務プロセスを自動化するものであり、ロボティック・プロセス・オートメーション(RPA)と呼ばれている。操作を定型化できる業務であれば、たとえば複数のアプリケーションソフトウェアに跨る操作であっても自動化することができ、人間よりも速く、また間違いを犯すことなく正確に繰り返し続けることができることから、大きな注目を浴びている。
今後、企業にて用いられるさまざまなソフトウェアがオンプレ型からクラウド型に移行していく時流において、RPAの対象となる操作は、ウェブブラウザ上での操作が大きな割合となってくる。
しかしながら、従来のRPAソフトウェアはウェブブラウザに対する操作を主な用途としたものではなく、改善の余地が少なくない。
本発明は、このような問題点に鑑みてなされたものであり、その目的は、ウェブブラウザの操作を伴う業務プロセスを自動化するためのシステム、方法及びプログラムを提供することにある。
このような目的を達成するために、本発明の第1の態様は、ウェブブラウザの操作を伴う業務プロセスを自動化するための方法であって、人間が指定した操作をコンピュータにより読み込み可能なデータとして記述するために、ウェブブラウザに、操作の対象となるウェブページのキャプチャ画像を表示するステップと、前記キャプチャ画像上で選択可能なエレメントに対する選択を受け取るステップと、前記ウェブブラウザに、選択された前記エレメントに関連づけられた選択可能な1又は複数の操作を表示するステップと、前記1又は複数の操作のうちのいずれかに対する選択を指定として受け取るステップと、選択された1又は複数のエレメントに対して指定された操作を記述した1又は複数のデータを生成するステップとを含むことを特徴とする。
また、本発明の第2の態様は、第1の態様において、前記ウェブページ内の各エレメントは、各エレメントの前記ウェブページにおける表示上の位置に対応する前記キャプチャ画像上の位置に、対応するオブジェクトを配置することで選択可能とされることを特徴とする。
また、本発明の第3の態様は、第2の態様において、前記オブジェクトは、対応するエレメントを囲う矩形形状であることを特徴とする。
また、本発明の第4の態様は、第3の態様において、前記オブジェクトは、選択前は透明であり、選択後は境界線が表示されることを特徴とする。
また、本発明の第5の態様は、第1から第4のいずれかの態様において、前記指定された操作が前記ウェブページに表示上の変化をもたらす場合、操作対象となるウェブページのキャプチャ画像を再度表示することを特徴とする。
また、本発明の第6の態様は、第5の態様において、前記指定された操作は、リンク又はプルダウンメニューのクリック又はタップであることを特徴とする。
また、本発明の第7の態様は、第5の態様において、前記指定された操作は、入力フォームへの入力であることを特徴とする。
また、本発明の第8の態様は、第1から第4のいずれかの態様において、前記指定された操作は、ファイルへの出力又はファイルからの入力であることを特徴とする。
また、本発明の第9の態様は、第1から第8のいずれかの態様において、同一又は異なるウェブページの複数のエレメントに対して操作が指定可能であることを特徴とする。
また、本発明の第10の態様は、コンピュータに、ウェブブラウザの操作を伴う業務プロセスを自動化するための方法を実行させるためのプログラムであって、前記方法は、人間が指定した操作をコンピュータにより読み込み可能なデータとして記述するために、ウェブブラウザに、操作の対象となるウェブページのキャプチャ画像を表示するステップと、前記キャプチャ画像上で選択可能なエレメントに対する選択を受け取るステップと、前記ウェブブラウザに、選択された前記エレメントに関連づけられた選択可能な1又は複数の操作を表示するステップと、前記1又は複数の操作のうちのいずれかに対する選択を指定として受け取るステップとを含み、選択された1又は複数のエレメントに対して指定された操作を記述した1又は複数のデータを送信することを特徴とする。
また、本発明の第11の態様は、ウェブブラウザの操作を伴う業務プロセスを自動化するための方法であって、人間が指定した操作をコンピュータにより読み込み可能なデータとして記述するために、サーバが、操作の対象となるウェブページのキャプチャ画像及びソースコードを受信するステップと、前記ソースコードを解析して前記ソースコードにおける各エレメントの位置を特定するステップと、各エレメントの前記ウェブページにおける表示上の位置を特定するステップと、前記キャプチャ画像並びに各エレメントの前記ソースコードにおける位置及び前記表示上の位置をユーザー端末に送信するステップとを含み、前記ユーザー端末が、ウェブブラウザに、受信した前記キャプチャ画像を表示するステップと、前記キャプチャ画像上で選択可能なエレメントに対する選択を受け取るステップと、前記ウェブブラウザに、選択された前記エレメントに関連づけられた選択可能な1又は複数の操作を表示するステップと、前記1又は複数の操作のうちのいずれかに対する選択を指定として受け取るステップと、選択された1又は複数のエレメントに対して指定された操作を記述した1又は複数のデータを生成して前記サーバに送信するステップとを含み、前記ウェブページ内の各エレメントは、各エレメントの前記ウェブページにおける表示上の位置に対応する前記キャプチャ画像上の位置に、対応するオブジェクトを配置することで選択可能とされることを特徴とする。
また、本発明の第12の態様は、第11の態様において、前記ソースコードにおける位置は、絶対パスで示されることを特徴とする。
また、本発明の第13の態様は、第11又は第12の態様において、前記表示上の位置は、前記ウェブページの横幅を所定の幅と定めたときの位置であることを特徴とする。
また、本発明の第14の態様は、第11から第13のいずれかの態様において、前記表示上の位置は、前記ウェブページ内の所定の点を基準とした座標で示されることを特徴とする。
また、本発明の第15の態様は、第14の態様において、前記所定の点は、前記ウェブページの上端の左端又は右端であることを特徴とする。
また、本発明の第16の態様は、第11から第15のいずれかの態様において、前記1又は複数のデータは、JSON形式であることを特徴とする。
また、本発明の第17の態様は、第16の態様において、前記サーバは、前記1又は複数のデータを、ブロックスタイルのYAML形式に変換して記憶することを特徴とする。
また、本発明の第18の態様は、第11から第17のいずれかの態様において、前記サーバは、クラウド上の1又は複数のインスタンスであることを特徴とする。
また、本発明の第19の態様は、サーバ及びユーザー端末に、ウェブブラウザの操作を伴う業務プロセスを自動化するための方法を実行させるためのプログラムであって、前記方法は、人間が指定した操作をコンピュータにより読み込み可能なデータとして記述するために、サーバが、操作の対象となるウェブページのキャプチャ画像及びソースコードを受信するステップと、前記ソースコードを解析して前記ソースコードにおける各エレメントの位置を特定するステップと、各エレメントの前記ウェブページにおける表示上の位置を特定するステップと、前記キャプチャ画像並びに各エレメントの前記ソースコードにおける位置及び前記表示上の位置をユーザー端末に送信するステップとを含み、前記ユーザー端末が、ウェブブラウザに、受信した前記キャプチャ画像を表示するステップと、前記キャプチャ画像上で選択可能なエレメントに対する選択を受け取るステップと、前記ウェブブラウザに、選択された前記エレメントに関連づけられた選択可能な1又は複数の操作を表示するステップと、前記1又は複数の操作のうちのいずれかに対する選択を指定として受け取るステップと、選択された1又は複数のエレメントに対して指定された操作を記述した1又は複数のデータを生成して前記サーバに送信するステップとを含み、前記ウェブページ内の各エレメントは、各エレメントの前記ウェブページにおける表示上の位置に対応する前記キャプチャ画像上の位置に、対応するオブジェクトを配置することで選択可能とされることを特徴とする。
また、本発明の第20の態様は、ウェブブラウザの操作を伴う業務プロセスを自動化するためのシステムであって、人間が指定した操作をコンピュータにより読み込み可能なデータとして記述するために、操作の対象となるウェブページのキャプチャ画像及びソースコードを受信し、前記ソースコードを解析して前記ソースコードにおける各エレメントの位置及び各エレメントの前記ウェブページにおける表示上の位置を特定し、前記キャプチャ画像並びに各エレメントの前記ソースコードにおける位置及び前記表示上の位置をユーザー端末に送信するサーバと、ウェブブラウザに、受信した前記キャプチャ画像を表示し、前記キャプチャ画像上で選択可能なエレメントに対する選択を受け取り、前記ウェブブラウザに、選択された前記エレメントに関連づけられた選択可能な1又は複数の操作を表示し、前記1又は複数の操作のうちのいずれかに対する選択を指定として受け取り、選択された1又は複数のエレメントに対して指定された操作を記述した1又は複数のデータを生成して前記サーバに送信するユーザー端末とを備え、前記ウェブページ内の各エレメントは、前記ユーザー端末において、各エレメントの前記ウェブページにおける表示上の位置に対応する前記キャプチャ画像上の位置に、対応するオブジェクトを配置することで選択可能とされることを特徴とする。
本発明の一態様によれば、ユーザーは、操作対象となるウェブページのキャプチャ画像を介して自動化すべき各エレメントへの操作を指定することができ、キャプチャ画像を取得できないウェブページは限られていることから、容易に広範なウェブページをRPAの対象とすることが可能となる。
コンピュータに自動的にウェブブラウザの操作を伴う業務プロセスを実行させるためには、いわゆる「ロボット」の作成とその実行という2つの工程がある。ここで、人間が行った操作が記述されたコンピュータにより実行可能なプログラム若しくはコード又はコンピュータにより実行可能なプログラムが読込可能な人間が行った操作が記述されたデータ等、「ロボット」という用語は多義的に用い得ることから、本明細書では概略的な説明を目的としてのみ用いる。
また、人間が行った操作又は指定した操作をコンピュータにより解釈乃至読込可能なデータ(以下「RPAデータ」とも呼ぶ。)として記述することができれば、当該データに基づいて、必要であれば、たとえば後述するSeleniumのようなウェブブラウザを操作するためのアプリケーションで実行可能又は解釈乃至読込可能な形式に変換を行って、又は当該アプリケーションで実行可能又は解釈乃至読込可能な形式のJavascript(登録商標)のようなプログラムを生成して、指定された操作の自動的な実行が可能であることから、その詳細については、説明しない。
本発明は、プログラミングについての高度な能力を有しない者であっても、さまざまなウェブサイト上での業務の自動化を可能とするために、人間が行った操作又は指定した操作をコンピュータにより解釈可能なデータとして記述することを容易にする。言い換えれば、本発明は、いわゆる「ロボット」の作成を容易にすることができる。
以下、図面を参照して本発明の実施形態を詳細に説明する。
(第1の実施形態)
図1は、本実施形態にかかる自動化のための構成を示している。サーバシステム100は、ユーザー端末130と通信を行う第1のサーバ110と、第1のサーバ110からの命令に基づいて、対象となるウェブサイトにアクセスを行う第2のサーバ120とを備える。当該ウェブサイトは、インターネット上の第3のサーバ140により提供される。第1のサーバ110及び第2のサーバ120は、それぞれクラウド上のインスタンスとしてもよく、後述するように、第2のサーバ120に対応するインスタンスを1又は複数のロボット毎に生成してもよい。以下では、この構成を例に説明を行うものの、第2のサーバ120を第1のサーバ110と別個のサーバとすることなく、同一のサーバとしてもよく、この場合には、これらのサーバ間でのデータの授受は行われない。サーバシステム100とユーザー端末130を併せて「システム」と呼ぶことがある。
図1は、本実施形態にかかる自動化のための構成を示している。サーバシステム100は、ユーザー端末130と通信を行う第1のサーバ110と、第1のサーバ110からの命令に基づいて、対象となるウェブサイトにアクセスを行う第2のサーバ120とを備える。当該ウェブサイトは、インターネット上の第3のサーバ140により提供される。第1のサーバ110及び第2のサーバ120は、それぞれクラウド上のインスタンスとしてもよく、後述するように、第2のサーバ120に対応するインスタンスを1又は複数のロボット毎に生成してもよい。以下では、この構成を例に説明を行うものの、第2のサーバ120を第1のサーバ110と別個のサーバとすることなく、同一のサーバとしてもよく、この場合には、これらのサーバ間でのデータの授受は行われない。サーバシステム100とユーザー端末130を併せて「システム」と呼ぶことがある。
第1のサーバ110は、通信インターフェースなどの通信部111と、プロセッサ、CPU等の処理部112と、メモリ、ハードディスク等の記憶装置又は記憶媒体を含む記憶部113とを備え、処理部112において、後述する各処理を行うためのプログラムを実行することによって構成することができる。第1のサーバ110は、1又は複数のサーバないしインスタンスを含むことがあり、また当該プログラムは、1又は複数のプログラムを含むことがあり、また、コンピュータ読み取り可能な記憶媒体に記録して非一過性のプログラムプロダクトとすることができる。
第1のサーバ110以外の装置、サーバ又はインスタンスについて、個別に図示はしないものの、第1のサーバ110と同様に、通信部、処理部及び記憶部が備えられ、1又は複数のプログラムが処理部により実行されることで所要の機能が実現される。
RPAデータの作成
本実施形態におけるRPAデータ作成の手順を説明する。まず、ユーザーは、ユーザー端末130から、第1のサーバ110により提供されるウェブサイト300にアクセスする(S201)。アクセスの際に、必要に応じてログインが行われる。このとき、ユーザー端末130は、第1のサーバ110又はシステム100から、第1の端末130においてウェブブラウザを用いてRPAデータの作成を行うための作成プログラムを受信する。当該作成プログラムは、たとえばJavaScriptとすることができ、以後ユーザーにより行われる操作をユーザー端末130に記憶させ、また、ユーザーの操作に応じて図4以降に示すようにウェブサイト300の表示を更新させる。
本実施形態におけるRPAデータ作成の手順を説明する。まず、ユーザーは、ユーザー端末130から、第1のサーバ110により提供されるウェブサイト300にアクセスする(S201)。アクセスの際に、必要に応じてログインが行われる。このとき、ユーザー端末130は、第1のサーバ110又はシステム100から、第1の端末130においてウェブブラウザを用いてRPAデータの作成を行うための作成プログラムを受信する。当該作成プログラムは、たとえばJavaScriptとすることができ、以後ユーザーにより行われる操作をユーザー端末130に記憶させ、また、ユーザーの操作に応じて図4以降に示すようにウェブサイト300の表示を更新させる。
次に、ユーザーは、ウェブサイト300において、新たに作成するロボットにタイトルを与えて、「作成」ボタンをクリック又はタップする(S202)。図3の例では、「テストロボット」というタイトルを与えており、また、対象となるウェブサイトに対する操作の結果として取得されるデータを出力するための出力ファイルとして、Excel(登録商標)ファイル「テストロボット出力ファイル.xlsx」を当該ロボットに関連づけている。
ユーザー端末130から新規ロボットの作成要求を受信した第1のサーバ110は、当該ロボットのためのインスタンスとして第2のサーバ120を生成する。ロボット毎にインスタンスを生成するか、生成されているインスタンスを割り当ててもよく、あるいは、インスタンス毎に4個、5個等の所定の数のロボットを割り当ててもよい。この場合、割り当て可能なインスタンスがなければ新たにインスタンスを生成することになる。また、第1のサーバ110は、関連づけられた出力ファイルを当該ロボットと関連づけて記憶部113又は第1のサーバ110からネットワークを介してアクセス可能な記憶装置又は記憶媒体に記憶する。
次に、ユーザーは、対象となるウェブページのURLをURL入力欄401に入力して「表示」ボタン402をクリック又はタップする(S203)。図4の例では、ある企業のウェブサイトのニュースページの画像がウェブサイト300の表示欄310に表示されている。後述するように、ソースコードの解析結果に基づいて、当該ニュースページの各エレメントは当該画像上で選択可能とされている。ウェブサイト300には、表示欄310の他に、操作欄320が表示されている。操作欄320には、ユーザーが行った操作の履歴が残されていく。各操作は、操作の種類と対象で構成され、ここでは、「URLを開く」という種類とともに、その対象であるURLが示されている。
ユーザー端末130からウェブページの表示要求を受信した第1のサーバ110は、第2のサーバ120にブラウザを起動させて、当該URLを表示させる。第2のサーバ120では、Seleniumのようなアプリケーションを介して、ブラウザの操作を行うことが可能である。ここで、第2のサーバ120におけるブラウザの起動をこのときに行うことは必ずしも必要ではなく、また、第2のサーバ120は、ブラウザ上で当該URLの表示を行うものの、ディスプレイに表示することは必要ではない。
第2のサーバ120は、URLの表示に成功すると、表示したウェブページを画像としてキャプチャし、そのソースコードとともに第1のサーバ110に受け渡す。第1のサーバ110は、受け取った画像及びソースコードの解析結果をユーザー端末130に送信し、ユーザー端末130は、図4に示すようにウェブサイト300の表示欄310を更新する。当該更新は、上述した生成プログラムが画像及び解析結果に基づいて行う。解析は、第2のサーバ120で行ってしまい、解析結果を第1のサーバ110に渡すこともできる。解析の詳細については、後述する。
ユーザーが表示欄310に表示された対象となるウェブページ内のいずれかのエレメント501を選択した場合(S204)、当該エレメントに対して可能な操作の一覧が操作欄320に表示される。図5の例では、「テキストの取得」「繰り返しを抽出」「クリック」「マウスカーソルを移動」及び「リンク先を保存」が選択肢として示されている。ここで「繰り返しを抽出」が選択されると、操作の種類が決定される(S205−1)。
「繰り返しを抽出」が操作の種類であるときには、操作の対象については、ソースコードの解析結果に基づいて、選択されたエレメント501と同一又は類似のパスを有するエレメントが選択される。図6では、同一classのdivタグを有するエレメント502乃至506が自動的に選択されている。ここで、名前を与えて「決定」ボタンをクリック又はタップすることで、繰り返し操作の対象が決定される(S205−2)。
図6では、選択されたエレメント501と同一又は類似のパスを有するエレメントを自動的に選択させたが、選択されたエレメント501に対して繰り返されているエレメントの候補をたとえばハイライトすることによって示し、ユーザーが2つ目のエレメントを選択したことに応じて、両者に共通する絶対パスを有するエレメントを繰り返し対象として選択することもできる。
また、「繰り返しを抽出」が操作の種類であるときには、ここまでの操作で繰り返し操作の対象は定まっているものの、繰り返すべき操作の内容が未定である。そこで、ユーザーは、操作欄320の「+」をクリック又はタップすることで、再度当該エレメントに対して選択可能な操作の一覧を操作欄320に表示させて、「テキストの取得」を選択する(S205−3)。そして、図7に示すように、操作欄320で「確定」ボタンをタップ又はクリックすることで、この繰り返し操作の全体が決定される。繰り返し操作を確定させるための詳細については、当然「確定」ボタンの他にもさまざまなUIとして表現が考えられる。
「繰り返しを抽出」の他に、たとえば「クリック」という操作が選択された場合には、リンクのクリックであれば画面が遷移し、プルダウンメニューのクリックであれば選択肢が表示されることにより、操作の対象となるウェブページに変化をもたらすことから、新たにURLを開き直して、ウェブサイト300の表示欄310を更新することとなる。また、画面の変化を伴わずに、別のエレメントを選択して同様に操作の種類及び対象を指定してもよい。
ウェブサイトに対する操作が終了したら、ユーザーは、この例のようにテキストの取得をしている場合、図8に示される「ファイルに出力」という操作を選択し、あらかじめ関連づけておいた出力ファイルへの出力形式を指定する(S206)。出力ファイルの関連づけはここで行ってもよい。図9に示すように、出力ファイルがスプレッドシートの際には、抽出したテキストの出力開始セルを指定することができるものの、出力形式の指定は必ずしも必須ではない。また、あらかじめ設けておいた出力ファイルは雛型として用い、別途保存場所、ファイル名等を指定可能としてもよい。
必要な操作の指定がすべて済んだら、ウェブサイト300の操作欄320には、操作履歴が表示されている。ユーザーは、操作欄320で「保存」ボタンをタップ又はクリックすることで、ロボットの作成を完了する(S207)。このとき、ユーザー端末130は、選択されたエレメントに対する操作という操作履歴に対応するRPAデータを生成して第1のサーバ110に送信し、第1のサーバ110は、必要に応じて当該データに変換を施して記憶する。
たとえば、ユーザー端末130から送信されるRPAデータをJSON形式、第1のサーバ110又はシステム100における変換後のデータをブロックスタイルのYAML形式とすることができる。また、ユーザー端末130からの送信は、すべての操作の指定が完了するのを待つのではなく、操作が行われるごとに行うようにしてもよい。
上述の「URLを開く」という操作を例にすると、当該操作時に、たとえば、ユーザー端末130に以下の形式のデータが保存される。
{
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',
id: 'd0e0ff67-980f-4321-8564-458087f12515',
browser_size:
width: 1280,
height: 1024,
url: 'https://www.xxxx.co.jp/news.html'
comment:
}
他の操作が行われた場合にも同様の形式のデータが生成され、操作が行われた順序で以下のように配列形式で保存されていき、すべての操作完了時又は各操作の完了時に、ユーザー端末130に記憶された並列データが第1のサーバ110に送信されるようにすることができる。
[
{
type: 'open_url',
...(省略)
},
{
type: 'foreach',
...(省略)
}
]
[
{
type: 'open_url',
...(省略)
},
{
type: 'foreach',
...(省略)
}
]
第1のサーバ110では、受け取った配列データを下記のようなYAML形式のデータに変換し、文字列として保存することができる。
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
(以下略)
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
(以下略)
なお、「××のみに基づいて」、「××のみに応じて」、「××のみの場合」というように「のみ」との記載がなければ、本明細書においては、付加的な情報も考慮し得ることが想定されていることに留意されたい。
また、念のため、なんらかの方法、プログラム、端末、装置、サーバ又はシステム(以下「方法等」)において、本明細書で記述された動作と異なる動作を行う側面があるとしても、本発明の各態様は、本明細書で記述された動作のいずれかと同一の動作を対象とするものであり、本明細書で記述された動作と異なる動作が存在することは、当該方法等を本発明の各態様の範囲外とするものではないことを付言する。
ソースコード解析の詳細
第1のサーバ110において行われる対象となるウェブページのソースコード解析は、ソースコードにおける各エレメントの位置の特定と、各エレメントの当該ウェブページにおける表示上の位置の特定を含む。また、各エレメントのタグネーム及び属性並びに表示上の高さ及び幅のうちの少なくとも一つを含むことができる。
第1のサーバ110において行われる対象となるウェブページのソースコード解析は、ソースコードにおける各エレメントの位置の特定と、各エレメントの当該ウェブページにおける表示上の位置の特定を含む。また、各エレメントのタグネーム及び属性並びに表示上の高さ及び幅のうちの少なくとも一つを含むことができる。
ユーザー端末130では、生成プログラムが、これらの位置情報に基づいて、対象となるウェブページ内の各エレメントに対し、各エレメントの当該ウェブページにおける表示上の位置に対応するキャプチャ画像上の位置に、対応するオブジェクトを配置する。
オブジェクトは、たとえば、図5に示したように、対応するエレメントを囲う矩形形状の枠とすることができ、選択前は透明であり、選択後は境界線が表示されるようにすることができる。
各エレメントのソースコードにおける位置は、絶対パスで示すことができ、各エレメントの当該ウェブページにおける表示上の位置は、前記ウェブページの横幅を所定の幅、たとえば1280ピクセルと定めたときの位置とすることができる。当該位置は、ウェブページを最も上にスクロールした際の左上又は右上、換言すれば、ウェブページの上端の左端又は右端を原点とした座標で表すことができる。当該座標は、各エレメントの左上、右上等のいずれかの頂点の座標とすることができる。
(第2の実施形態)
第1の実施形態では、繰り返し現れるエレメントに対して同一の操作を繰り返したが、同一のエレメントに対して指定した異なる操作を繰り返すこともできる。たとえば、検索エンジンを開いて、あらかじめスプレッドシートに入力されたキーワードを入力フォームに入力して検索結果からテキストを取得する操作を繰り返すことができる。
第1の実施形態では、繰り返し現れるエレメントに対して同一の操作を繰り返したが、同一のエレメントに対して指定した異なる操作を繰り返すこともできる。たとえば、検索エンジンを開いて、あらかじめスプレッドシートに入力されたキーワードを入力フォームに入力して検索結果からテキストを取得する操作を繰り返すことができる。
100 システム
110 第1のサーバ
111 通信部
112 処理部
113 記憶部
120 第2のサーバ
130 ユーザー端末
140 第3のサーバ
110 第1のサーバ
111 通信部
112 処理部
113 記憶部
120 第2のサーバ
130 ユーザー端末
140 第3のサーバ
Claims (20)
- ウェブブラウザの操作を伴う業務プロセスを自動化するための方法であって、人間が指定した操作をコンピュータにより読み込み可能なデータとして記述するために、
ウェブブラウザに、操作の対象となるウェブページのキャプチャ画像を表示するステップと、
前記キャプチャ画像上で選択可能なエレメントに対する選択を受け取るステップと、
前記ウェブブラウザに、選択された前記エレメントに関連づけられた選択可能な1又は複数の操作を表示するステップと、
前記1又は複数の操作のうちのいずれかに対する選択を指定として受け取るステップと、
選択された1又は複数のエレメントに対して指定された操作を記述した1又は複数のデータを生成するステップと
を含むことを特徴とする方法。 - 前記ウェブページ内の各エレメントは、各エレメントの前記ウェブページにおける表示上の位置に対応する前記キャプチャ画像上の位置に、対応するオブジェクトを配置することで選択可能とされることを特徴とする請求項1に記載の方法。
- 前記オブジェクトは、対応するエレメントを囲う矩形形状であることを特徴とする請求項2に記載の方法。
- 前記オブジェクトは、選択前は透明であり、選択後は境界線が表示されることを特徴とする請求項3に記載の方法。
- 前記指定された操作が前記ウェブページに表示上の変化をもたらす場合、操作対象となるウェブページのキャプチャ画像を再度表示することを特徴とする請求項1から4のいずれかに記載の方法。
- 前記指定された操作は、リンク又はプルダウンメニューのクリック又はタップであることを特徴とする請求項5に記載の方法。
- 前記指定された操作は、入力フォームへの入力であることを特徴とする請求項5に記載の方法。
- 前記指定された操作は、ファイルへの出力又はファイルからの入力であることを特徴とする請求項1から4のいずれかに記載の方法。
- 同一又は異なるウェブページの複数のエレメントに対して操作が指定可能であることを特徴とする請求項1から8のいずれかに記載の方法。
- コンピュータに、ウェブブラウザの操作を伴う業務プロセスを自動化するための方法を実行させるためのプログラムであって、前記方法は、人間が指定した操作をコンピュータにより読み込み可能なデータとして記述するために、
ウェブブラウザに、操作の対象となるウェブページのキャプチャ画像を表示するステップと、
前記キャプチャ画像上で選択可能なエレメントに対する選択を受け取るステップと、
前記ウェブブラウザに、選択された前記エレメントに関連づけられた選択可能な1又は複数の操作を表示するステップと、
前記1又は複数の操作のうちのいずれかに対する選択を指定として受け取るステップと
を含み、
選択された1又は複数のエレメントに対して指定された操作を記述した1又は複数のデータを送信することを特徴とするプログラム。 - ウェブブラウザの操作を伴う業務プロセスを自動化するための方法であって、人間が指定した操作をコンピュータにより読み込み可能なデータとして記述するために、
サーバが、
操作の対象となるウェブページのキャプチャ画像及びソースコードを受信するステップと、
前記ソースコードを解析して前記ソースコードにおける各エレメントの位置を特定するステップと、
各エレメントの前記ウェブページにおける表示上の位置を特定するステップと、
前記キャプチャ画像並びに各エレメントの前記ソースコードにおける位置及び前記表示上の位置をユーザー端末に送信するステップと
を含み、
前記ユーザー端末が、
ウェブブラウザに、受信した前記キャプチャ画像を表示するステップと、
前記キャプチャ画像上で選択可能なエレメントに対する選択を受け取るステップと、
前記ウェブブラウザに、選択された前記エレメントに関連づけられた選択可能な1又は複数の操作を表示するステップと、
前記1又は複数の操作のうちのいずれかに対する選択を指定として受け取るステップと、
選択された1又は複数のエレメントに対して指定された操作を記述した1又は複数のデータを生成して前記サーバに送信するステップと
を含み、
前記ウェブページ内の各エレメントは、各エレメントの前記ウェブページにおける表示上の位置に対応する前記キャプチャ画像上の位置に、対応するオブジェクトを配置することで選択可能とされることを特徴とする方法。 - 前記ソースコードにおける位置は、絶対パスで示されることを特徴とする請求項11に記載の方法。
- 前記表示上の位置は、前記ウェブページの横幅を所定の幅と定めたときの位置であることを特徴とする請求項11又は12に記載の方法。
- 前記表示上の位置は、前記ウェブページ内の所定の点を基準とした座標で示されることを特徴とする請求項11から13のいずれかに記載の方法。
- 前記所定の点は、前記ウェブページの上端の左端又は右端であることを特徴とする請求項14に記載の方法。
- 前記1又は複数のデータは、JSON形式であることを特徴とする請求項11から15に記載の方法。
- 前記サーバは、前記1又は複数のデータを、ブロックスタイルのYAML形式に変換して記憶することを特徴とする請求項16に記載の方法。
- 前記サーバは、クラウド上の1又は複数のインスタンスであることを特徴とする請求項11から17のいずれかに記載の方法。
- サーバ及びユーザー端末に、ウェブブラウザの操作を伴う業務プロセスを自動化するための方法を実行させるためのプログラムであって、前記方法は、人間が指定した操作をコンピュータにより読み込み可能なデータとして記述するために、
サーバが、
操作の対象となるウェブページのキャプチャ画像及びソースコードを受信するステップと、
前記ソースコードを解析して前記ソースコードにおける各エレメントの位置を特定するステップと、
各エレメントの前記ウェブページにおける表示上の位置を特定するステップと、
前記キャプチャ画像並びに各エレメントの前記ソースコードにおける位置及び前記表示上の位置をユーザー端末に送信するステップと
を含み、
前記ユーザー端末が、
ウェブブラウザに、受信した前記キャプチャ画像を表示するステップと、
前記キャプチャ画像上で選択可能なエレメントに対する選択を受け取るステップと、
前記ウェブブラウザに、選択された前記エレメントに関連づけられた選択可能な1又は複数の操作を表示するステップと、
前記1又は複数の操作のうちのいずれかに対する選択を指定として受け取るステップと、
選択された1又は複数のエレメントに対して指定された操作を記述した1又は複数のデータを生成して前記サーバに送信するステップと
を含み、
前記ウェブページ内の各エレメントは、各エレメントの前記ウェブページにおける表示上の位置に対応する前記キャプチャ画像上の位置に、対応するオブジェクトを配置することで選択可能とされることを特徴とするプログラム。 - ウェブブラウザの操作を伴う業務プロセスを自動化するためのシステムであって、人間が指定した操作をコンピュータにより読み込み可能なデータとして記述するために、
操作の対象となるウェブページのキャプチャ画像及びソースコードを受信し、前記ソースコードを解析して前記ソースコードにおける各エレメントの位置及び各エレメントの前記ウェブページにおける表示上の位置を特定し、前記キャプチャ画像並びに各エレメントの前記ソースコードにおける位置及び前記表示上の位置をユーザー端末に送信するサーバと、
ウェブブラウザに、受信した前記キャプチャ画像を表示し、前記キャプチャ画像上で選択可能なエレメントに対する選択を受け取り、前記ウェブブラウザに、選択された前記エレメントに関連づけられた選択可能な1又は複数の操作を表示し、前記1又は複数の操作のうちのいずれかに対する選択を指定として受け取り、選択された1又は複数のエレメントに対して指定された操作を記述した1又は複数のデータを生成して前記サーバに送信するユーザー端末と
を備え、
前記ウェブページ内の各エレメントは、前記ユーザー端末において、各エレメントの前記ウェブページにおける表示上の位置に対応する前記キャプチャ画像上の位置に、対応するオブジェクトを配置することで選択可能とされることを特徴とするシステム。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2017199890A JP2019074889A (ja) | 2017-10-13 | 2017-10-13 | ウェブブラウザの操作を伴う業務プロセスを自動化するためのシステム、方法及びプログラム |
PCT/JP2018/038221 WO2019074125A1 (ja) | 2017-10-13 | 2018-10-12 | ウェブブラウザの操作を伴う業務プロセスを自動化するためのシステム、方法及びプログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2017199890A JP2019074889A (ja) | 2017-10-13 | 2017-10-13 | ウェブブラウザの操作を伴う業務プロセスを自動化するためのシステム、方法及びプログラム |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2018141918A Division JP6452882B1 (ja) | 2018-07-28 | 2018-07-28 | ウェブブラウザの操作を伴う業務プロセスを自動化するためのシステム、方法及びプログラム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2019074889A true JP2019074889A (ja) | 2019-05-16 |
Family
ID=66100710
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2017199890A Pending JP2019074889A (ja) | 2017-10-13 | 2017-10-13 | ウェブブラウザの操作を伴う業務プロセスを自動化するためのシステム、方法及びプログラム |
Country Status (2)
Country | Link |
---|---|
JP (1) | JP2019074889A (ja) |
WO (1) | WO2019074125A1 (ja) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2021049120A1 (ja) * | 2019-09-11 | 2021-03-18 | 株式会社C-Rise | コンピュータプログラム、情報処理方法、情報処理装置及び情報処理システム |
KR102234332B1 (ko) * | 2019-10-14 | 2021-03-31 | (주) 이든티앤에스 | 업무 프로세스 자동화 방법 및 그를 위한 장치 |
KR102337270B1 (ko) * | 2020-12-11 | 2021-12-09 | 주식회사 이노룰스 | Rpa 스크립트 개발을 위한 웹 기반의 통합개발환경 제공 시스템 및 그 방법 |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111047147B (zh) * | 2019-11-20 | 2023-09-26 | 深圳市法本信息技术股份有限公司 | 一种业务流程自动采集方法及智能终端 |
WO2023105696A1 (ja) * | 2021-12-08 | 2023-06-15 | 日本電信電話株式会社 | 情報付与装置、情報付与方法及び情報付与プログラム |
WO2023135772A1 (ja) * | 2022-01-14 | 2023-07-20 | 日本電信電話株式会社 | 情報処理装置、情報処理方法および情報処理プログラム |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP2116964A4 (en) * | 2006-12-28 | 2011-02-02 | Ibm | PROCESS AND PROGRAM FOR SUPPORTING THE DATA ENTRY FOR BUSINESS PROCESSING |
JP2012108740A (ja) * | 2010-11-18 | 2012-06-07 | Hitachi Ltd | 入力支援方法及びプログラム |
EP3112965A1 (en) * | 2015-07-02 | 2017-01-04 | Accenture Global Services Limited | Robotic process automation |
-
2017
- 2017-10-13 JP JP2017199890A patent/JP2019074889A/ja active Pending
-
2018
- 2018-10-12 WO PCT/JP2018/038221 patent/WO2019074125A1/ja active Application Filing
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2021049120A1 (ja) * | 2019-09-11 | 2021-03-18 | 株式会社C-Rise | コンピュータプログラム、情報処理方法、情報処理装置及び情報処理システム |
US11695836B2 (en) | 2019-09-11 | 2023-07-04 | C-Rise Ltd. | Recording medium, information processing method, information processing device, and information processing system |
KR102234332B1 (ko) * | 2019-10-14 | 2021-03-31 | (주) 이든티앤에스 | 업무 프로세스 자동화 방법 및 그를 위한 장치 |
KR102337270B1 (ko) * | 2020-12-11 | 2021-12-09 | 주식회사 이노룰스 | Rpa 스크립트 개발을 위한 웹 기반의 통합개발환경 제공 시스템 및 그 방법 |
Also Published As
Publication number | Publication date |
---|---|
WO2019074125A1 (ja) | 2019-04-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2019074125A1 (ja) | ウェブブラウザの操作を伴う業務プロセスを自動化するためのシステム、方法及びプログラム | |
US20210318851A1 (en) | Systems and Methods for Dataset Merging using Flow Structures | |
AU2012370492B2 (en) | Graphical overlay related to data mining and analytics | |
US8612420B2 (en) | Configuring web crawler to extract web page information | |
US9003423B1 (en) | Dynamic browser compatibility checker | |
US20190303269A1 (en) | Methods and systems for testing visual aspects of a web page | |
US10514910B2 (en) | Automatically mapping data while designing process flows | |
JP6699669B2 (ja) | 分析情報管理システム | |
US9811248B1 (en) | Webpage testing tool | |
KR101951719B1 (ko) | 그래픽 인터페이스 기반으로 이벤트 동작을 프로그래밍 하는 웹 레포팅 디자인 시스템 | |
JP6452882B1 (ja) | ウェブブラウザの操作を伴う業務プロセスを自動化するためのシステム、方法及びプログラム | |
US10509844B1 (en) | Network graph parser | |
US10789053B2 (en) | Facilitated user interaction | |
JP6045050B2 (ja) | ユーザインタフェース一貫性チェック方法、装置およびプログラム | |
CN108431799B (zh) | 分析信息管理系统 | |
US20160292067A1 (en) | System and method for keyword based testing of custom components | |
Cao et al. | Spider2-V: How Far Are Multimodal Agents From Automating Data Science and Engineering Workflows? | |
JP6539432B2 (ja) | 解析サーバ装置、解析プログラム、ヒートマップ解析システム | |
CN113778437A (zh) | 一种rpa元素精准定位方法 | |
JP2021163504A (ja) | 情報処理プログラム、情報処理装置及び情報処理方法 | |
JP2016224583A (ja) | 解析サーバ装置、解析プログラム | |
Nursal et al. | Case study methodology of DSS development for BIM software selection in construction industry | |
US10362090B2 (en) | Automating a process associated with a web based software application | |
Chang et al. | A development of a web-based and user-centered process analysis system for quality improvement | |
Yardimci | Agriculture Insurance LLM Conversational Assistant |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20181121 |