変数を使ってページ遷移する
この記事では、変数を使ってページ遷移していく処理を説明します。
【できるようになること】
変数を使ったページ遷移
変数を使ったページ遷移
ページ遷移に変数を使った方が楽なケース
ページ遷移をする際には、 下記のようなボタンを押して遷移するケースが一般的ですが、取得したい件数が多い時やボタンのセレクタが複雑なケースもあります。こうした際、下記弊社サイトのようにページ数がURLに入っている場合は、この数字を利用してGoToアクションでページを遷移していくことが可能です。
弊社サイト例
https://www.roboticcrowd.com/blogs/
https://www.roboticcrowd.com/blogs/page/2/
https://www.roboticcrowd.com/blogs/page/3/
(最初のURLにページ数がないですが、このように法則性がある場合は、https://www.roboticcrowd.com/blogs/page/1/ のように指定することで開けるケースが多いです。)
今回のように「https://www.roboticcrowd.com/blogs/page/ページ数/」といったURLの場合は、ページ数の箇所に変数を入れワークフローサンプル1のように設定すると楽にページ遷移ができます。
流れとしては、ページ数の箇所を変数に置き換えた後、繰り返しごとに変数に格納した数字をカウントアップしていく形式です。
1ずつカウントアップしていく場合、以下の式を使用します。
${parseInt(変数名) + 1}
- parseIntは変数を整数として認識するための文言です。
これがない場合、”1″ + 1 = “11”といったように文字結合が行われます。 - 式全体を${}で囲うようにしてください。
例えば、590件データがあり1ページ辺りは100件しか表示されない
といった計算しないとページ数がわからない場合は、590の数字を取得し、ワークフローサンプル2のようにするとページ分実行可能です。
(${Math.ceil(変数/100)}で100で割って切り上げとなるので、これをloop回数の設定に入れるとページ分繰り返しができます。)
# ブラウザを開く +open_browser_1: action>: OpenBrowser url: 'https://www.roboticcrowd.com/blogs/page/1/' lang: 'ja-JP' headless: true # 変数に保存_最初のページ数 +store_value_2: action>: StoreValue key: n value: 1 # 繰り返し_ページ分繰り返し +loop_1: loop>: 7 _do: # 変数に保存_nに1足して次のページへ進む(parseIntは変数を整数として読むための定型句) +store_value_1: action>: StoreValue key: n value: ${parseInt(n) + 1} # URLへ遷移_次のページへ進む +go_to_1: action>: GoTo browser: +open_browser_1 url: 'https://www.roboticcrowd.com/blogs/page/${n}/'
# 変数に保存_対象データ数 +store_value_1: action>: StoreValue key: totalnum value: 590 # 繰り返し_100件ずつ表示されるので、切り上げて6回繰り返しが必要 +loop_1: loop>: ${Math.ceil(totalnum/100)} _do: # テキストを作成 +text_1: action>: Text text: '繰り返す処理'