旅行や遠征の宿がどこも満室。キャンセルが出ていないか、1日に何度も同じページを開いていませんか。 このレシピでは、空室の表示が現れたら音で知らせるフローを作ります。 ページを見張るのはアプリに任せて、音が鳴るまで別のことをしていられます。
部屋やプランが一覧で並び、空きがあるときだけ「予約する」ボタンが表示される(または押せるようになる)タイプのページです。 満室のときはボタンが消えているか、グレーアウトしています。
ページを再読み込みする
「予約する」ボタンが現れているかチェックする
現れていたら音を鳴らす。現れていなければ何もしない
Run 画面の繰り返し実行で、設定した間隔ごとに 1〜3 を繰り返す
音が鳴ったら、内容を自分の目で確かめてから、予約の操作はご自身の手で行ってください。 「見張るのは自動、決めるのは自分」がこのレシピの形です。
「Create」で新しいフローを作成する
「リロード」ノードを追加し、見張りたいページの URL を設定する
「要素状態チェック」ノードを追加し、「要素を指定」で空室時に現れるボタンをタップして指定、条件を「要素が存在する」にする(満室中に作る場合は、インスペクターやセレクタ直接入力を使います。チュートリアル Lv.4〜5 参照)
Yes 側に「音を鳴らす」ノードをつなぐ
保存して「Run」から実行間隔を決めて実行する
練習ページの101号室を見張り、予約ボタンが現れたら音を鳴らす完成形です。
{
"schema_version": "1.0",
"comment": "レシピ1: 空室が出たら音で知らせる (予約の操作は自分の手で)",
"flow": [
{ "id": "node_0", "type": "start" },
{
"id": "node_1",
"type": "reload",
"target_url": "https://cmirai.jp/app/smauto/practice/room_list.html",
"wait_condition": "fixed_duration",
"post_load_wait": 5.0
},
{
"id": "node_2",
"type": "if",
"condition": {
"css_selector": "button[data-reserve=\"room-101\"]",
"attribute": "",
"operator": "exists",
"value": ""
},
"yes": [
{
"id": "node_3",
"type": "play_sound",
"sound_id": "alarm",
"volume": 1.0,
"loop": false,
"wait_for_finish": true
}
],
"no": []
}
]
}
「ボタンが現れる」タイプではなく「グレーアウトが解除される」タイプのページでは、 チェック条件を「disabled 属性が存在しない」に変えます(チュートリアル Lv.7 と同じ考え方です)。