Browser

ブラウザアクションの一覧です。

ブラウザアクションは、ブラウザの起動から、ブラウザ内のクリックなどの操作に対応しております。ブラウザ内の要素を操作するには、CSSセレクタをセットします。CSSセレクタをセットされたアクションは、セレクタがドキュメント内に読み込まれるのを最大30秒待つように設定されております。

ただし、以下のアクションについては、セレクタの出現だけではなく画面上に見える要素として出現することを待つようになっています。

  • Click

  • Hover

  • TakeElementShot

これらの要素は、セレクタが読み込まれていても表示されていなければ操作できません。

Browser

OpenBrowser

概要

OpenBrowserは、ほぼすべてのワークフローで利用されるアクションです。ブラウザ(Chromium)を起動して、指定されたウェブサイトを開きます。アウトプットは、起動したブラウザのウェブソケットアドレスになります。

OpenBrowserは、指定したURLのDOM要素のレンダリングが開始されるまで待機します(document の load イベント発火まで待機)。30秒経過してもページが開かない場合は、Timeoutエラーとなります。

パラメーター

*は、必須パラメーター

名前

概要

url*

文字列

最初に開くウェブサイトのURL

https://yahoo.co.jp

lang

文字列

ブラウザの言語設定、ISO 639言語コード。

en (default)

timeZone

文字列

ブラウザの場所設定、タイムゾーン。

Etc/GMT (default)

userAgent

文字列

ブラウザのユーザーエージェント設定。

HeadlessChrome (default)

アウトプット

タイプ

概要

Browser

文字列

起動したブラウザのWebSocketアドレス

ws://127.0.0.1:52582/devtools/browser/be5e7b6e-ce64-4040-a7af-15ecc7b125f0

使用例

+open_browser_1:
action>: OpenBrowser
url: 'https://yahoo.co.jp'
lang: 'ja-JP'
timeZone: 'Asia/Tokyo'
userAgent: 'Robotic Crowd Agent'

GoTo

概要

GoToは、ブラウザのアドレスバーに直接URLを入力して遷移させます。セッションを保ったままページ遷移させたり、URLを指定することで、サイト内の深い階層まで一気に遷移させるときなどに利用できます。

GoToは、指定したURLのDOM要素のレンダリングが開始されるまで次のアクションに進むのを待機します。30秒経過してもページが開かない場合は、Timeoutエラーとなります。

パラメーター

*は、必須パラメーター

名前

概要

browser*

文字列

ブラウザの接続先

+open_browser_1

url*

文字列

遷移先URL

https://yahoo.co.jp

waitBefore

整数

実行前待機時間(ms)

100 (default)

waitAfter

整数

実行後待機時間(ms)

100 (default)

アウトプット

タイプ

概要

Browser

文字列

起動したブラウザのWebSocketアドレス

ws://127.0.0.1:52582/devtools/browser/be5e7b6e-ce64-4040-a7af-15ecc7b125f0

使用例

ブラウザの接続先は、OpenBrowserアクションのアウトプットを再利用する。実行前待機時間を短くして、実行後待ち時間を2秒に設定したもの。

+go_to_1:
action>: GoTo
browser: +open_browser_1
url: 'https://yahoo.co.jp'
waitBefore: 10
waitAfter: 2000

CloseBrowser

概要

CloseBrowserは、ブラウザを閉じます。ブラウザを閉じてセッションも切っておきたいときに使います。

パラメーター

*は、必須パラメーター

名前

概要

browser*

文字列

ブラウザの接続先

+open_browser_1

waitBefore

整数

実行前待機時間(ms)

100 (default)

waitAfter

整数

実行後待機時間(ms)

100 (default)

アウトプット

タイプ

概要

Boolean

真理値

完了するとtrueとなる(エラーがなければ、常にtrue)

true

使用例

ブラウザの接続先は、OpenBrowserアクションのアウトプットを再利用する。実行前待機時間を短くして、実行後待ち時間を2秒に設定したもの。

+close_browser_1:
action>: CloseBrowser
browser: +open_browser_1
waitBefore: 10
waitAfter: 2000

Click

概要

Clickは、ブラウザの内の指定の要素をクリックします。クリックに付随したダウンロードやダイアログの処理についてもここで設定します。ブラウザの接続先をアウトプットします。

Clickでクリック可能な要素は、表示されているという条件が必要です。Clickは、実際のブラウザの画面上の点をクリックするようになっているので、HTML内に要素があっても見える状態(visible)でないとエラーとなります。

このアクションは、30秒間要素の出現をまちます。30秒たっても要素が出現しない場合、デフォルトでは、そのまま次のアクションに進みます。ただし、ignoreErrorにfalseがセットされている場合は、要素が出現しない場合にエラーとなります。

パラメーター

*は、必須パラメーター

名前

概要

browser*

文字列

ブラウザの接続先

+open_browser_1

selector*

文字列

操作対象のCSSセレクタ

#submitBtn

confirm

真理値

ダイアログが表示されたらOKをクリックする。

true (default)

type_to_confirm

文字列

confirmがtrueの時、ダイアログに文字を入力してから、OKをクリックする。

null (default)

ignoreError

真理値

CSSセレクタが見つからないなどのエラーが発生しても次のタスクへ進む。

true (default)

waitForDownload

真理値

このクリックでダウンロードが始まるので、ダウンロードの完了までこのアクション内で待機する。最大3分間待機する。

false (default)

highResolution

真理値

ウィンドウを1280x720まで拡大してからクリックする。

false (default)

waitBefore

整数

実行前待機時間(ms)

100 (default)

waitAfter

整数

実行後待機時間(ms)

100 (default)

アウトプット

タイプ

概要

Browser

文字列

起動したブラウザのWebSocketアドレス

ws://127.0.0.1:52582/devtools/browser/be5e7b6e-ce64-4040-a7af-15ecc7b125f0

使用例

ブラウザの接続先は、OpenBrowserアクションのアウトプットを再利用する。クリックで確認ダイアログが表示され、CSVダウンロードが始まることがわかっているので、そのダウンロードまで待つ。また、セレクタが見つからない場合は、エラーとして途中で終了するようにする。

+click_1:
action>: Click
browser: +open_browser_1
selector: 'input#download'
ingnoreError: false
waitForDownload: true
highResolution: true

Hover

概要

Hoverは、ブラウザの内の指定の要素にマウスをあわせます。Hoverで表示される要素をクリックしたり、取得したりする際に利用します。

このアクションは、30秒間要素の出現をまちます。30秒たっても要素が出現しない場合、デフォルトでは、そのまま次のアクションに進みます。ただし、ignoreErrorにfalseがセットされている場合は、要素が出現しない場合にエラーとなります。

パラメーター

*は、必須パラメーター

名前

概要

browser*

文字列

ブラウザの接続先

+open_browser_1

selector*

文字列

操作対象のCSSセレクタ

#submitBtn

ignoreError

真理値

CSSセレクタが見つからないなどのエラーが発生しても次のタスクへ進む。

true (default)

highResolution

真理値

ウィンドウを1280x720まで拡大してからクリックする。

false (default)

waitBefore

整数

実行前待機時間(ms)

100 (default)

waitAfter

整数

実行後待機時間(ms)

100 (default)

アウトプット

タイプ

概要

Browser

文字列

起動したブラウザのWebSocketアドレス

ws://127.0.0.1:52582/devtools/browser/be5e7b6e-ce64-4040-a7af-15ecc7b125f0

使用例

ブラウザの接続先は、OpenBrowserアクションのアウトプットを再利用する。

+hover_1:
action>: Hover
browser: +open_browser_1
selector: 'i#hint'
ingnoreError: true
highResolution: true

TypeText

概要

TypeTextは、ブラウザの内の指定の要素に文字を入力します。インプットフィールドに値をセットするのではなく、人間が入力するように一文字ずつテキストを入力していく操作となります。

このアクションは、30秒間要素の出現をまちます。30秒たっても要素が出現しない場合、デフォルトでは、そのまま次のアクションに進みます。ただし、ignoreErrorにfalseがセットされている場合は、要素が出現しない場合にエラーとなります。

パラメーター

*は、必須パラメーター

名前

概要

browser*

文字列

ブラウザの接続先

+open_browser_1

selector*

文字列

操作対象のCSSセレクタ

#submitBtn

text*

文字列

入力する文字列

ミーアキャット

clearValue

真理値

trueの時、すでに入力されている値を消去します。falseの時、追記します。

false (default)

ignoreError

真理値

CSSセレクタが見つからないなどのエラーが発生しても次のタスクへ進む。

true (default)

delay

整数

1文字ずつ入力する際のタイプ遅延(ms)。例えば、'abcd' と入力する際に20セットされていると、a (20ms) b (20ms) c (20ms) d と入力するので、60ms以上時間がかかる。

0 (default)

waitBefore

整数

実行前待機時間(ms)

100 (default)

waitAfter

整数

実行後待機時間(ms)

100 (default)

アウトプット

タイプ

概要

Browser

文字列

起動したブラウザのWebSocketアドレス

ws://127.0.0.1:52582/devtools/browser/be5e7b6e-ce64-4040-a7af-15ecc7b125f0

使用例

ブラウザの接続先は、OpenBrowserアクションのアウトプットを再利用する。検索フィールドにミーアキャットと入力する。事前に入力されている文字があれば消去。タイピングのスピードは、5msとする。

+type_text_1:
action>: TypeText
browser: +open_browser_1
selector: 'input#srchtxt'
text: ミーアキャット
clearValue: true
ingnoreError: false
delay: 5

SetFileToUpload

概要

SetFileToUploadは、ブラウザの内のフォーム要素にファイルをセットします。ファイルをアップロードする際に利用します。

このアクションは、30秒間要素の出現をまちます。30秒たっても要素が出現しない場合、デフォルトでは、そのまま次のアクションに進みます。ただし、ignoreErrorにfalseがセットされている場合は、要素が出現しない場合にエラーとなります。

パラメーター

*は、必須パラメーター

名前

概要

browser*

文字列

ブラウザの接続先

+open_browser_1

selector*

文字列

操作対象のCSSセレクタ

#submitBtn

file*

文字列

fileがあるpathを指定します。指定できるpathは、実行中のロボットの一時フォルダ内に限定されます。アップロードするファイルは、事前にGetFileなどで取得する必要があるので、GetFileアクションのアウトプットを指定することが通常です。

+get_file_1

ignoreError

真理値

CSSセレクタが見つからないなどのエラーが発生しても次のタスクへ進む。

true (default)

waitBefore

整数

実行前待機時間(ms)

100 (default)

waitAfter

整数

実行後待機時間(ms)

100 (default)

アウトプット

タイプ

概要

Browser

文字列

起動したブラウザのWebSocketアドレス

ws://127.0.0.1:52582/devtools/browser/be5e7b6e-ce64-4040-a7af-15ecc7b125f0

使用例

ブラウザの接続先は、OpenBrowserアクションのアウトプットを再利用する。フォーム内のファイル要素にGetFileで事前に取得してきたファイルをセットする。

+set_file_to_upload_1:
action>: SetFileToUpload
browser: +open_browser_1
selector: 'form input[type=file]'
file: +get_file_1
ingnoreError: false

TypePassword

概要

TypePasswordは、TypeTextと同じ動作をしますが、パスワードがマスクされたり、input[type=password] 以外要素には使えないなどのいくつかの制限があります。

このアクションは、30秒間要素の出現をまちます。30秒たっても要素が出現しない場合、デフォルトでは、そのまま次のアクションに進みます。ただし、ignoreErrorにfalseがセットされている場合は、要素が出現しない場合にエラーとなります。

パラメーター

*は、必須パラメーター

名前

概要

browser*

文字列

ブラウザの接続先

+open_browser_1

selector*

文字列

操作対象のCSSセレクタ。input[type=password]となっている要素のみ設定可能。

#password

password*

文字列

入力するパスワード。パスワードは、ワークフロー保存時にマスクされ*****という表示になる。

true (default)

ignoreError

真理値

CSSセレクタが見つからないなどのエラーが発生しても次のタスクへ進む。

true (default)

delay

整数

1文字ずつ入力する際のタイプ遅延(ms)。例えば、'abcd' と入力する際に20セットされていると、a (20ms) b (20ms) c (20ms) d と入力するので、60ms以上時間がかかる。

0 (default)

waitBefore

整数

実行前待機時間(ms)

100 (default)

waitAfter

整数

実行後待機時間(ms)

100 (default)

アウトプット

タイプ

概要

Browser

文字列

起動したブラウザのWebSocketアドレス

ws://127.0.0.1:52582/devtools/browser/be5e7b6e-ce64-4040-a7af-15ecc7b125f0

使用例

ブラウザの接続先は、OpenBrowserアクションのアウトプットを再利用する。パスワードにthisispasswordと入力する。

+type_password_1:
action>: TypePassword
browser: +open_browser_1
selector: 'input#password'
password: thisispassword # => 保存後は、 '******' となりマスクされます。
ingnoreError: false

SelectOption

概要

選択肢型のUIを操作して、その値(value)または、表示名(innerText)により選択肢を選択します。

パラメーター

*は、必須パラメーター

名前

概要

browser*

文字列

ブラウザの接続先

+open_browser_1

selector*

文字列

操作対象のCSSセレクタ

#optionSelect

value*(1)

文字列

選択する値(value)で選択する

okinawa

text*(1)

文字列

選択肢の表示名(innerText)で選択する

沖縄

ignoreError

真理値

CSSセレクタが見つからないなどのエラーが発生しても次のタスクへ進む。

true (default)

waitBefore

整数

実行前待機時間(ms)

100 (default)

waitAfter

整数

実行後待機時間(ms)

100 (default)

(*1) どちらか必須

アウトプット

タイプ

概要

Browser

文字列

起動したブラウザのWebSocketアドレス

ws://127.0.0.1:52582/devtools/browser/be5e7b6e-ce64-4040-a7af-15ecc7b125f0

使用例

ブラウザの接続先は、OpenBrowserアクションのアウトプットを再利用する。選択肢で8を選択する。

+select_option_1:
action>: SElectOption
browser: +open_browser_1
selector: '#startHour'
value: 8
ingnoreError: false

GetText

概要

GetTextは、ブラウザの内の指定の要素内の文字をすべて取得します。取得した文字列をアウトプットします。

このアクションは、30秒間要素の出現をまちます。30秒たっても要素が出現しない場合、デフォルトでは、そのまま次のアクションに進みます。ただし、ignoreErrorにfalseがセットされている場合は、要素が出現しない場合にエラーとなります。

パラメーター

*は、必須パラメーター

名前

概要

browser*

文字列

ブラウザの接続先

+open_browser_1

selector*

文字列

操作対象のCSSセレクタ

#submitBtn

ignoreError

真理値

CSSセレクタが見つからないなどのエラーが発生しても次のタスクへ進む。

true (default)

waitBefore

整数

実行前待機時間(ms)

100 (default)

waitAfter

整数

実行後待機時間(ms)

100 (default)

アウトプット

タイプ

概要

Text

文字列

取得した文字列

"明日の江東区の天気は、晴れです。"

使用例

ブラウザの接続先は、OpenBrowserアクションのアウトプットを再利用する。

+get_text_1:
action>: GetText
browser: +open_browser_1
selector: 'p#detail'
ingnoreError: false

SendKeys

概要

SendKeysは、キーボードを操作する低水準のアクションです。メタキーを含めて送信可能です。ロボットは、LinuxOS上で動作していることを前提にしてください。

表示確認用に、セレクターをセットすることができますが、SendKeys自体は、セレクタの指定は不要です。現在のブラウザの状態のままキーボードを押して離すことをエミュレートします。

このアクションは、30秒間要素の出現をまちます。30秒たっても要素が出現しない場合、デフォルトでは、そのまま次のアクションに進みます。ただし、ignoreErrorにfalseがセットされている場合は、要素が出現しない場合にエラーとなります。

パラメーター

*は、必須パラメーター

名前

概要

browser*

文字列

ブラウザの接続先

+open_browser_1

keys

配列

キーの名前を要素とした配列を入力します。使えるキーの名前一覧は、こちらを参照してください。

["ArrowLeft", "Enter"]

selector

文字列

操作対象のCSSセレクタ。必須ではありません。

body (default)

ignoreError

真理値

CSSセレクタが見つからないなどのエラーが発生しても次のタスクへ進む。

true (default)

waitBefore

整数

実行前待機時間(ms)

100 (default)

waitAfter

整数

実行後待機時間(ms)

100 (default)

アウトプット

タイプ

概要

Browser

文字列

起動したブラウザのWebSocketアドレス

ws://127.0.0.1:52582/devtools/browser/be5e7b6e-ce64-4040-a7af-15ecc7b125f0

使用例

ブラウザの接続先は、OpenBrowserアクションのアウトプットを再利用する。左矢印とエンターキーをほぼ同時に送信する。

+send_keys_1:
action>: SendKeys
browser: +open_browser_1
keys: ["ArrowLeft", "Enter"]

SubmitForm

概要

SubmitFormは、クリックやキーの送信ではなく、プログラム的にフォームを送信したい場合に利用します。

パラメーター

*は、必須パラメーター

名前

概要

browser*

文字列

ブラウザの接続先

+open_browser_1

selector*

文字列

操作対象のCSSセレクタ。

form#entry

ignoreError

真理値

CSSセレクタが見つからないなどのエラーが発生しても次のタスクへ進む。

true (default)

waitBefore

整数

実行前待機時間(ms)

100 (default)

waitAfter

整数

実行後待機時間(ms)

100 (default)

アウトプット

タイプ

概要

Browser

文字列

起動したブラウザのWebSocketアドレス

ws://127.0.0.1:52582/devtools/browser/be5e7b6e-ce64-4040-a7af-15ecc7b125f0

使用例

ブラウザの接続先は、OpenBrowserアクションのアウトプットを再利用する。入力フォームをプログラム的に送信する。

+submit_form_1`:
action>: SubmitForm
browser: +open_browser_1
selector: 'form#entry'

TakeScreenshot

概要

TakeScreenshotは、ブラウザの画面を画像として保存するアクションです。画像ファイルのパスをアウトプットします。

パラメーター

*は、必須パラメーター

名前

概要

browser*

文字列

ブラウザの接続先

+open_browser_1

full_page

真理値

trueの時、スクロール可能な領域を含めて全体をスクリーンショットします。falseのときは、ウィンドウサイズのみ撮影します。

false (default)

highResolution

真理値

ウィンドウを1280x720まで拡大してからクリックする。

false (default)

device

文字列

モバイル端末をエミュレートしてスクリーンショットをとります。利用できるデバイスは、こちらを参照ください。

iPhone X

waitBefore

整数

実行前待機時間(ms)

100 (default)

waitAfter

整数

実行後待機時間(ms)

100 (default)

*注意: デバイスのサイズに合わせて画像等をリサイズしているWebサイトの場合にページ全体のスクリーンショットで表示が乱れることがあります。

アウトプット

タイプ

概要

Image

文字列

撮影した画面のpngファイルのパス。

/tmp/fb4edcb2/screenshots/1.png

使用例

ブラウザの接続先は、OpenBrowserアクションのアウトプットを再利用する。高解像度モードで全ページを撮影する。

+take_screenshot_1:
action>: TakeScreenshot
browser: +open_browser_1
full_page: true
devise: iPhone X
hightResolution: true

TakeElementShot

概要

TakeElementShotは、ブラウザに表示されている一部の要素のみ撮影します。

このアクションは、30秒間要素の出現をまちます。30秒たっても要素が出現しない場合、エラーとなります。

パラメーター

*は、必須パラメーター

名前

概要

browser*

文字列

ブラウザの接続先

+open_browser_1

selector*

文字列

撮影する要素のCSSセレクター

p > img

highResolution

真理値

ウィンドウを1280x720まで拡大してからクリックする。

false (default)

waitBefore

整数

実行前待機時間(ms)

100 (default)

waitAfter

整数

実行後待機時間(ms)

100 (default)

アウトプット

タイプ

概要

Image

文字列

撮影した画面のpngファイルのパス。

/tmp/fb4edcb2/screenshots/1.png

使用例

ブラウザの接続先は、OpenBrowserアクションのアウトプットを再利用する。高解像度モードで画像要素のみ撮影する。

+take_element_shot_1:
action>: TakeElementShot
browser: +open_browser_1
selector: 'p > img'
hightResolution: true

PagePDF

概要

PagePDFは、表示中のページを印刷用のPDFに出力するアクションです。

パラメーター

*は、必須パラメーター

名前

概要

browser*

文字列

ブラウザの接続先

+open_browser_1

format

文字列

印刷する用紙サイズです。

A4 (default)

media

文字列

印刷用のデザインを適用させるか、画面表示ようのデザインを適用させるかを選択します。

print (default)

scale

数値

印刷の縮尺を設定します。

1.0 (default)

pageRanges

文字列

印刷範囲を指定します。空にしておくと全てのページを印刷します。- で範囲を、カンマ区切りで複数の範囲を指定できます。

1-2,13-15,20,29

printBackground

真理値

背景を印刷するかどうかを設定します。

false (default)

device

文字列

モバイル端末をエミュレートして印刷します。ただし、印刷サイズは format となります。空にしておくとブラウザ画面として印刷されます。利用できるデバイスは、こちらを参照ください。

iPhone X

waitBefore

整数

実行前待機時間(ms)

100 (default)

waitAfter

整数

実行後待機時間(ms)

100 (default)

アウトプット

タイプ

概要

File

文字列

出力したPDFのパス

/tmp/fb4edcb2/page_pdf/site_title-1.pdf

使用例

ブラウザの接続先は、OpenBrowserアクションのアウトプットを再利用する。A3サイズに縮尺0.9で背景を含むプリントをする場合。

# PDFに出力
+page_p_d_f_1:
action>: PagePDF
browser: +open_browser_1
format: A3
media: screen
printBackground: true
scale: '0.9'
# "/path/to/session/page_pdf/株式会社チュートリアル|クラウド型RPA Robotic Crowd | 自分らしい生き方をクリエイトする-1.pdf"

FindElement

概要

FindElementは、ブラウザに表示されいている要素を様々な方法で取得できるアクションです。アウトプットは、CSSセレクターもしくは要素が発見できなければ false となります。

使用できる検索方法

selector

CSSセレクター形式で検索します。要素が発見されなかったら false を出力します。

xpath

XPath形式で検索します。要素が発見されなかったら false を出力します。

button_contains

button要素内の文字列で検索します。現在、buttonタグの直下の文字列しか検索できません。

<button>Hello</button> #=> value: "Hello" で検索できる
<button><span>Hello</span></button> #=> 検索できない

link_contains

a要素内の文字列で検索します。button_contains同様、現在、aタグの直下の文字列しか検索できません。

パラメーター

*は、必須パラメーター

名前

概要

find_by

文字列

valueパラメーターに渡す文字列の形式を指定します。selector(CSSセレクタ形式), xpath(XPath形式), button_contains (文字列), link_contain (文字列形式) の4種類から選択。

xpath

value

文字列

この値を使って検索します。

//a[contains(text(), "Go")]

timeout

整数

最大の待ち時間(ms)。

30000 (default)

visible

真理値

見える要素のみ検索するかどうか。

true (default)

timeout

整数

最大の待ち時間(ms)。

30000 (default)

アウトプット

タイプ

概要

String

文字列

要素が発見できた場合、CSSセレクターを返却します

.btn

Boolean

真理値

要素が発見できなかった場合 false となります。

false

使用例

+find_element_1:
action>: FindElement
browser: +open_browser_1
find_by: xpath
value: //a[contains(text(), "Go")]
timeout: 180000
visible: true

WaitForDownload

概要

WaitForDownloadは、ダウンロード中のファイルのダウンロードが完了するのをまちます。このアクションが呼び出されると、ダウンロードファイルが以前のアクションの状態よりも、一つ増えるまでまちます、ダウンロード中のファイル(.crdownloadで終わるファイル)があれば完了するまでまちます。最大で3分まちます。

パラメーター

*は、必須パラメーター

名前

概要

timeout

整数

最大の待ち時間(ms)。

180000 (default)

アウトプット

タイプ

概要

Boolean

真理値

タイムアウトせずに完了するとtrue、タイムアウトで完了した場合は、falseになります。

true

使用例

ブラウザの接続先は、OpenBrowserアクションのアウトプットを再利用する。

+wait_for_download_1:
action>: WaitForDownload

GetDownloadFiles

概要

GetDownloadFilesは、ダウンロードフォルダ内のファイル一覧を取得します。ファイル名、または、ファイルの最終修正時刻で並び替えができます。

パラメーター

*は、必須パラメーター

名前

概要

order

セレクト

並び替えの順序。ASCだと、若い値が先にきます。DESCだと、その逆に並びます。

ASC

sort_by

セレクト

並び替えのキー。FILENAMEだと、ファイル名の辞書順、CREATEDだと、ファイルの修正時刻順になります。順序をDESC、キーをCREATEDにすることで、一番初めの値が、最新のダウンロードファイルになります。

FILENAME

アウトプット

タイプ

概要

List

配列

ファイルの一覧を返します。

["/path/to/downloads/1.png", "/path/to/downloads/2.png"]

使用例

ダウンロードフォルダのファイル一覧を取得します。

+get_download_files_1:
action>: GetDownloadFiles
order: ASC
sort_by: FILENAME

ScrapePage

概要

ScrapePageは、ウェブサイトから複数の情報を取得してきます。CSSセレクタにマッチするすべての要素の文字列 (innerText)、HTML (innerHTML)、リンク、ボタン、画像を取得します。これらをオブジェクトにした配列を出力します。

パラメーター

*は、必須パラメーター

名前

概要

browser*

文字列

ブラウザの接続先

+open_browser_1

selector*

文字列

スクレイピングする要素のCSSセレクタ。複数にマッチすることを前提としている。

div#title

text_only

真理値

true のとき、要素内部のテキスト情報のみを取得し、配列として出力する。子要素のテキストもまとめて取得する。

false(default)

waitBefore

整数

実行前待機時間(ms)

30 (default)

waitAfter

整数

実行後待機時間(ms)

30 (default)

ignoreError

真理値

CSSセレクタが見つからないなどのエラーが発生しても次のタスクへ進む。

true (default)

アウトプット

タイプ

概要

List

配列

取得した情報の一覧

※アウトプット例を参考

使用例

+scrape_page_1:
action>: ScrapePage
browser: +open_browser_1
selector: 'div#title'
text_only: true
ignoreError: false

アウトプット例

本のタイトル一覧を取得した場合の例。

[
"決定版猫と一緒に生き残る防災BOOK",
"牝の猫と女のネコ",
"通い猫アルフィーの奇跡",
"猫をよろこばせる本",
"猫の困った行動解決ハンドブック"
]

ExtractDataFromTable

概要

ExtractDataFromTableは、ウェブサイトにあるテーブル(表)からデータを取得します。

このアクションは、30秒間要素の出現をまちます。30秒たっても要素が出現しない場合、デフォルトでは、そのまま次のアクションに進みます。ただし、ignoreErrorにfalseがセットされている場合は、要素が出現しない場合にエラーとなります。

パラメーター

*は、必須パラメーター

名前

概要

browser*

文字列

ブラウザの接続先

+open_browser_1

selector*

文字列

操作対象のCSSセレクタ

table

waitBefore

整数

実行前待機時間(ms)

30 (default)

waitAfter

整数

実行後待機時間(ms)

30 (default)

ignoreError

真理値

CSSセレクタが見つからないなどのエラーが発生しても次のタスクへ進む。

true (default)

アウトプット

タイプ

概要

Array

配列

取得したテーブルデータ

※アウトプット例を参照

使用例

+extract_data_from_table_1:
action>: ExtractDataFromTable
browser: +open_browser_1
selector: ' table '
ignoreError: false

アウトプット例

賃貸情報を取得した場合の例。

[
[
"階",
"賃料/管理費",
"敷金/礼金",
"間取り/専有面積",
"お気に入り",
" "
],
[
"4階",
"44.5万円\n-\n",
"89万円\n44.5万円\n",
"2LDK\n75.67m2\n",
"追加",
"詳細を見る"
]
]

InjectScript

概要

InjectScriptは、ページ内でJavaScriptを実行します。実行は、30秒以内にタイムアウトします。JavaScript内で計算した結果をロボットに直接渡すことはできません。ご注意ください。

パラメーター

*は、必須パラメーター

名前

概要

browser*

文字列

ブラウザの接続先

+click_1

code*

文字列

JavaScriptのコード

※使用例のcodeを参照

returnValue

真理値

true のとき、ブラウザではなく、実行したスクリプトの最後の行の値をアウトプットします

false (default)

waitBefore

整数

実行前待機時間(ms)

100 (default)

waitAfter

整数

実行後待機時間(ms)

100 (default)

アウトプット

InjectScript は、returnValue パラメーターの設定によって、アウトプットが変わるアクションになっています。 returnValue = true にすると、スクリプト内で最後に評価された値をアウトプットし、returnValue = false の時は、ブラウザをストプットします。

タイプ

概要

Browser

文字列

returnValue = false の時、起動したブラウザのWebSocketアドレス

ws://127.0.0.1:52582/devtools/browser/be5e7b6e-ce64-4040-a7af-15ecc7b125f0

Any

任意

returnValue = true の時に、スクリプト内で、最後に評価された値

{ name: 'test', age: 25 }

使用例

+inject_script_1:
action>: InjectScript
browser: +open_browser_1
code: 'document.getElementById("srchbtn").value = "開始"; document.getElementById("result").innerText;'
returnValue: true
waitBefore: 10
waitAfter: 2000
#=> "result is 1000"
+inject_script_2:
action>: InjectScript
browser: +open_browser_1
code: 'document.getElementById("srchbtn").value = "開始"; document.getElementById("result").innerText;'
returnValue: false
waitBefore: 10
waitAfter: 2000
#=> "ws://127.0.0.1:52582/devtools/browser/be5e7b6e-ce64-4040-a7af-15ecc7b125f0"

ExtractData

概要

ExtractDataは、ウェブサイトから複数の情報まとめて取得してきます。

マルチプルモードでは、同じページ無いの繰り返しデータを整形して取得します。マルチプルモードの場合は、二つ以上のセレクターが必要になります。

パラメーター

*は、必須パラメーター

名前

概要

browser*

文字列

ブラウザの接続先

+open_browser_1

extractor*

文字列

オブジェクト形式の抽出対象

※使用例のextractor参照

format

文字列

json または csv を選択できます

csv

multiple

真偽値

二つ以上のセレクタを指定する

false(default)

補足: extractor

取得する情報の種類と、セレクターをオブジェクト形式で設定します。マルチプルモードの場合は、二つ以上のセレクターが必要になります。

extractorは、取得するデータの名前である name キーと、そのデータの場所を指定する selectors キーを持つオブジェクトの配列です。

multiple: true のときは、selectorsに指定されたデータの場所を元に繰り返しを検出します。

multiple: false のときは、selectorsに指定されたデータの場所を順番に取得していき、最初に取得が成功したデータを取得します。別の言い方をすると、取得に失敗した時(場所が見つからなかった時)は、次の selector を使ってデータの取得を試みます。この仕組みにより、異なるフォーマットのページで同じextractorを使用できます。

アウトプット

タイプ

概要

Anything

配列

取得した情報の一覧

※使用例の各アウトプット参照

使用例

multiple: trueの場合

+extract_data_1:
action>: ExtractData
browser: +open_browser_1
extractor:
- {"name":"店名", "selectors":["div:nth-child(2) > .title", "div:nth-child(3) > .title"]}
- {"name":"電話番号", "selectors":["div:nth-child(2) > .tel", "div:nth-child(3) > .tel"]}
format: csv
multiple: true

アウトプット (CSV)

[
[
"店名", "電話番号"
],
[
"夢谷ばー 渋谷本店", "03-xxxx-xxxx"
],
[
"イタリアンバル 丸の内店", "03-xxxx-xxxx"
],
[
"Cafe Bar Ocean", "03-xxxx-xxxx"
],
[
"ポートポート赤坂見附店", "03-xxxx-xxxx"
]
]

multiple: falseの場合

+extract_data_1:
action>: ExtractData
browser: +open_browser_1
extractor: [{"name":"店名","selectors":["div#title"]},{"name":"エリア","selectors":["div#sub_title"]}]
format: csv
multiple: false

アウトプット (CSV)

[
[
"店名",
"エリア"
],
[
"日比谷Bar 渋谷本店",
" 渋谷駅 228m / バル・バール、イタリアン、ダイニングバー"
]
]

GetURL

概要

GetURLは、現在表示しているウェブサイトのURLを取得します。

パラメーター

*は、必須パラメーター

名前

概要

browser*

文字列

ブラウザの接続先

+open_browser_1

アウトプット

タイプ

概要

Text

文字列

取得したURL

"https://roboticcrowd.com/"

使用例

+get_u_r_l_1:
action>: GetURL
browser: +open_browser_1

GetAttribute

概要

GetAttributeは、セレクタで指定した要素の属性値を取得します。

このアクションは、30秒間要素の出現をまちます。30秒たっても要素が出現しない場合、デフォルトでは、そのまま次のアクションに進みます。ただし、ignoreErrorにfalseがセットされている場合は、要素が出現しない場合にエラーとなります。

パラメーター

*は、必須パラメーター

名前

概要

browser*

文字列

ブラウザの接続先

+open_browser_1

selector*

文字列

操作対象のCSSセレクタ

body > div > img

attribute*

文字列

取得する属性(id, src, href, altなど)

src

ignoreError

真理値

CSSセレクタが見つからないなどのエラーが発生しても次のタスクへ進む。

true (default)

補足: attribute

代表的な属性として以下のものがあります。

属性

説明

src

画像のURL(パス)

href

リンク先のURL(パス)

alt

画像などの説明文

アウトプット

タイプ

概要

Text

文字列

取得した属性値

"/images/logo.svg"

使用例

+get_attribute_1:
action>: GetAttribute
browser: +open_browser_1
selector: 'body > div > img'
attribute: src

ClickPoint

概要

xy座標で指定された場所をクリックします。

セレクターありの場合は、 セレクターで指定した要素の左上を基準点として x, y 座標を指定できるようになります。

Bodyとセレクタで指定されたAnchorとクリックされるポイントの関係

パラメーター

*は、必須パラメーター

名前

概要

browser*

文字列

ブラウザの接続先

+open_browser_1

x*

整数

x座標 (px)

100

y*

整数

y座標 (px)

100

selector

文字列

セレクターで指定した要素の左上を基準点とする。

#submitBtn

confirm

真理値

ダイアログが表示されたらOKをクリックする。

true (default)

waitForDownload

真理値

このクリックでダウンロードが始まるので、ダウンロードの完了までこのアクション内で待機する。最大3分間待機する。

false (default)

highResolution

真理値

ウィンドウを1280x720まで拡大してからクリックする。

false (default)

waitBefore

整数

実行前待機時間(ms)

100 (default)

waitAfter

整数

実行後待機時間(ms)

100 (default)

アウトプット

タイプ

概要

Browser

文字列

起動したブラウザのWebSocketアドレス

ws://127.0.0.1:52582/devtools/browser/be5e7b6e-ce64-4040-a7af-15ecc7b125f0

使用例

+click_point_1:
action>: ClickPoint
browser: +open_browser_1
x: 300
y: 280
confirm: true
waitAfter: 1000

SolveCaptcha

概要

CAPTCHAを解決します。 現在、normal captcha, reCAPTCHA v2 Checkbox, reCAPTCHA v2 Invisible, reCAPTCHA v3に対応しています。 アウトプットとしてnormal captchaの場合はテキスト、reCAPTCHAの場合はトークンを返却します。

normal captcha

normal captchaの解決にはselectorもしくはfileのどちらかが必須となります。 どちらも設定した場合はfileの画像が使用されます。 コールバック関数は関係しないため、executeCallbackパラメータはtrueとfalseどちらでも問題ありません。

SolveCaptchaのアウトプットで返却されるテキストをウェブサイトが指定するテキストエリアに入力することでCAPTCHAを解決できます。

reCAPTCHA

reCAPTCHA v2 Checkbox

「私はロボットではありません」にチェックを入れるタイプのreCAPTCHAです。

このタイプは基本的にSolveCaptchaを実行後、「送信」ボタンをクリックする等で解決できます。 多くの場合、SolveCaptchaのアウトプットに表示されるトークンをその後のワークフローで使用する必要はありません。

executeCallbackパラメータをtrueに設定することで、コールバック関数が指定されている場合は自動実行が可能です。自動実行が困難なサイトでは以下のエラーが出るため、executeCallbackパラメータをfalseに変更しInjectScript等で個別に対応してください。

set "executeCallback = false", and execute the callback function yourself.

Invisible reCAPTCHA

チェックボックスがなく、画面下部にreCAPTCHAロゴが表示されるタイプのreCAPTCHA(見かけ上はreCAPTCHA v3と同様)です。

このタイプは基本的にSolveCaptchaを実行するのみで解決できます。 多くの場合、SolveCaptchaのアウトプットに表示されるトークンをその後のワークフローで使用する必要はありません。

Invisible reCAPTCHAでは高確率でコールバック関数の実行が必要となります。デフォルトではexecuteCallbackパラメータがtrueに設定されており、自動的にコールバック関数を実行します。自動実行が困難なサイトでは以下のエラーが出るため、executeCallbackパラメータをfalseに変更しInjectScript等で個別に対応してください。

set "executeCallback = false", and execute the callback function yourself.

reCAPTCHA v3

チェックボックスがなく、画面下部にreCAPTCHAロゴが表示されるタイプのreCAPTCHA(見かけ上はInvisible reCAPTCHAと同様)です。

このタイプはSolveCaptchaを実行後、アウトプットに表示されるトークンをそのウェブサイトが求める形で送信することで解決できます。 なお、reCAPTCHA v3と判定された場合はログに以下の文が表示されます。

create the request required by the target website using a token, and send it.

パラメーター

*は、必須パラメーター

名前

概要

browser*

文字列

ブラウザの接続先

+open_browser_1

type*

文字列

CAPTCHAの種類を指定します。normal, reCAPTCHA の2種類から選択。

normal

selector

文字列

CAPTCHAのCSSセレクタ

#capcha

file

文字列

CAPTCHAの画像ファイル。jpg, jpeg, gif, png に対応。

/path/to/captcha.png

executeCallback

真理値

コールバック関数を実行。normal captchaの場合、この設定は結果に影響しません。

true (default)

アウトプット

タイプ

概要

Text

文字列

normalの場合は文字列、reCAPTCHAの場合はトークン

"captcha"

使用例

+solve_captcha_1:
action>: SolveCaptcha
browser: +open_browser_1
type: normal
file: '/path/to/captcha.png'