Robotic Crowd

Robotic Crowd

変数を使ってページ遷移する

Author: Junji Kambara 41 views

この記事では、変数を使ってページ遷移していく処理を説明します。

 

 

【できるようになること】

  • 変数を使ったページ遷移


 

 変数を使ったページ遷移

ページ遷移に変数を使った方が楽なケース

ページ遷移をする際には、 下記のようなボタンを押して遷移するケースが一般的ですが、取得したい件数が多い時やボタンのセレクタが複雑なケースもあります。
こうした際、下記弊社サイトのようにページ数がURLに入っている場合は、この数字を利用してページを遷移していくことが可能です。


弊社サイト例

https://www.roboticcrowd.com/blogs/
https://www.roboticcrowd.com/blogs/page/2/
https://www.roboticcrowd.com/blogs/page/3/

(最初のページにページ数がないですが、このように法則性がある場合は、https://www.roboticcrowd.com/blogs/page/1/ のように指定することで開けるケースが多いです。)

今回のように「https://www.roboticcrowd.com/blogs/page/ページ数/」といったURLの場合は、ページ数の箇所に変数を入れワークフローサンプル1のように設定すると楽にページ遷移ができます。

 

流れとしては、ページ数の箇所を変数に置き換えた後、繰り返しごとに変数に格納した数字をカウントアップしていく形式です。

 (以下ワークフローサンプル1参照)
 
 

また、今回はページ数を指定して繰り返しましたが、繰り返しの回数がページに表示されている場合は、ページにある数字を取得して指定します。

(今回のサイトだと最後が7とボタンから認識できます。)

 

例えば、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足して次のページへ進む
+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

# 繰り返し
+loop_1:
loop>: ${Math.ceil(totalnum/100)}
_do:

# テキストを作成
+text_1:
action>: Text
text: 'ループ処理'
[参考記事]