はじめての方は上から順に。必要なところだけ読みたい方は、下の見出しから飛べます。
いちばん手軽な始め方です。 やりたいことを日本語で書くと、AI が表示中のページを調べて、ノードの並び(下書き)を組み立ててくれます。 ノードの名前や組み合わせを覚えていなくても作れます。
AIでの自動作成はあくまで下書きです。実行の前にフロー内容をよくご確認ください。ご利用には対応プランが必要です。
AIの使い方を見る操作したいボタンや入力欄は、アプリ内ブラウザでその要素を実際にタップするだけで指定できます。 CSSセレクタを自分で書く必要はありません。
スマート系のノードは監視したい部屋・日付・URL をまとめて登録しておき、実行のたびにON/OFFで選ぶだけ。 狙いが変わっても、フローを作り直す必要がありません。
フローは文字列(JSON)としてまるごと持ち出せます。 コピーして相手に送れば、受け取った方は貼り付けるだけで同じフローを再現できます。 機種変更や2台目への移し替えにも使えます。
文字列入力ノードに入れた値もそのまま含まれます。他人に見せたくない値が入ったフローは渡さないでください。 受け取ったフローは、実行する前に必ず中身をご確認ください。
コピーして使えるレシピを見る
Smauto は、あなたの操作を代わりに行うアプリです。
気持ちよく使い続けるために、次のことをお守りください。
自動でページを開くたびに、相手のサイトに負荷がかかっています。 間隔にゆとりを持たせるほど、相手への負荷は軽くなります。
サイトによっては、自動での操作や繰り返しのアクセスを望んでいないことがあります。 その方針は、多くの場合そのサイトの利用規約やヘルプに書かれています。 使う前に確認し、認められていない場合は、そのサイトでの使用は避けてください。
ログインしてから先のページを自動で操作することは、おすすめしていません。 会員番号・氏名・予約の内容など、あなた自身の情報が表示されていることが多く、 思ったとおりに動かなかったときの影響も大きくなります。
とくに、そうしたページで「AIで自動作成」を使うと、画面に表示されている文字がそのまま送られ、 個人情報をAIに読み取られることがあります。 個人情報が表示・入力されているページでは、AI機能を使わないでください。
予約や購入の確定のような、あとから取り消しにくい操作は、自動に任せず、 ご自身で内容を確かめてから行うことをおすすめします。 ページの作りが変わると、フローが意図と違う動きをすることがあります。
受け取ったフローは、何をするものかよく確認してから実行してください。
これらは、あなた自身と相手のサイトの両方を大切にするためのお願いです。
使い方に迷ったときは、ヘルプもあわせてご覧ください。
アプリを開いたら「Create」からフローを新規作成しましょう。
ノードを追加して、フローチャートを組み立てます。 操作したいボタンや入力欄などの要素は、実際のWebサイト上でタップするだけで自動指定されます。 CSSセレクタなどの専門知識は不要です。 ブラウザ画面のボタンの役割はブラウザ画面の見方にまとめています。
フローが完成したら名前を付けて保存しましょう。 保存したフローは端末内に保存され、何度でも再利用できます。
「Run」画面からフローをワンタップで実行できます。 これだけで、いつもの作業が自動で進みます。
要素を指定するときも、動きを試すときも、Run で回すときも、舞台はアプリ内のブラウザ画面です。
上のバー・下のバー・重なって出るパネルの、ボタン1つずつの役割をまとめました。
同じブラウザ画面でも、どこから開いたかで下のバーの中身が変わります。今どのモードかは、ページの右上に出るバッジで分かります。
フローチャート画面からブラウザを開いたとき。ページを観察し、1ノードずつ試し、AIに頼む、ふだんの作業場です。バッジは出ません。
ノードの編集画面から開いたとき。タップした要素を、そのノードに持ち帰るための取得モードになります(4)。
ホームの Run から開いたとき。繰り返し実行するための画面で、作る系のボタンはありません(7)。
| バッジ | 意味 |
|---|---|
| INSPECTOR | インスペクターが ON。タップした要素の情報がパネルに出ます(5)。 |
| CSS PICK | セレクタ取得中。タップした要素の CSS セレクタをノードに持ち帰ります。 |
| ATTR PICK | 属性取得中。セレクタに加えて、その要素の属性名と今の値も持ち帰ります(要素状態チェック・スマート系の条件で使います)。 |
| BROWSER STATE | ブラウザ状態チェックの比較値(URL やタイトルなど)を、今のページの実際の値から取り込むモード。 |
| ラベル更新 | スマートテーブルタップの「行列ラベル更新」から開いたモード。表から行・列のラベルを読み取ります。 |
(node_4) と同じものです(ログの読み方)。ふつうのブラウザと同じ並びです。左から順に。
| ボタン | 働き |
|---|---|
| エディタに戻る | ブラウザを閉じてフローチャート画面へ戻ります。取得モードのときは、何も取らずに戻る動きになります。 |
| ページの「戻る」「進む」。戻れないときは押しても何も起きません。 | |
| 再読み込み。サイト側の表示が古いと感じたときに。フローの「リロード」ノードとは別で、キャッシュは消しません。 | |
| このページを記録 | Create のブラウザだけにあります。今見えているページの構造を端末内に控えておき、あとで「AIで自動作成」の依頼に添付できます。押した時点のページが記録されるので、狙いの状態(空きが出た瞬間など)を見せたいときに使います。記録は端末のメモリにだけ残り、AI に送られるのは依頼のときに自分で選んで添付した場合だけです。 |
| URL 欄 | 今のページのアドレス。打ち込んで確定すると移動します。ノードの「ページ移動」に使う URL は、ここからコピーすると確実です。 |
左から順に。狭い端末では左側のアイコン群が横にスクロールします。
| ボタン | 働き |
|---|---|
| インスペクター | ON にすると、ページの要素をタップしたときにページ側の反応の代わりにその要素の情報パネルが開きます(5)。もう一度押すと OFF。ON の間は右上に INSPECTOR バッジが出ます。 |
| CSSセレクタ検証 | 上のバーの下に検証用の入力欄が現れます。セレクタを打つと、当たっている要素がページ上でハイライトされ、件数が出ます(6)。どのモードでも使えます。 |
| 記録CSVを共有 | レコードノードで記録した値の一覧を開き、CSV ファイルとして書き出したり他のアプリへ送ったりします。「クリア」で記録を消せます。ログとの違いはこちら。 |
| AIで自動作成 | 依頼文を書くシートが開きます。表示中のページを AI が調べて、ノードの並びを下書きします(AIによる自動作成の使い方)。対応プランが必要です。 |
| デバッグ開始 | フローを最初から1周だけ、このブラウザ上で実行します。結果は実行ログに出ます。Run と違って繰り返しません。 |
| 選択を実行 | フローチャートでノードのメニューから「実行」を選んで開いたときは、ボタンがこの表示になります。そのノードから先だけを動かすので、1ノードずつ確かめるときに使います。 |
| 停止 | 実行中は上の2つの代わりにこれが出ます。押すと今のノードで中断し、鳴っている音も止まります。 |
| 実行ログ | 画面の下からログパネルを開閉します。読み方はログの見方へ。 |
ノードの「タップで指定」などから開いたときは、下のバーが「取って帰る」ためのものに入れ替わります。右側には今なにをすればよいかの案内文が出ます。
| ボタン | 働き |
|---|---|
| セレクタ取得 属性取得 |
ON のとき:ページをタップすると、その要素が取り込まれてノードの編集画面に戻ります。案内文は「タップしてセレクタを取得」。 OFF のとき:ふつうにページを操作できます。案内文は「通常通りブラウザを操作できます」。目的のページまで進んだり、タブを切り替えたりしてから ON に戻して要素を取ります。 開いた直後は ON になっています。どちらの名前で出るかは、ノードが必要としているもの(セレクタだけか、属性も含めてか)で決まります。 |
| ◯/◯ 件選択中 | 複数個取得のセレクタや「相対」のチェーンを取るときは、2つの要素を順にタップします。案内文に「1/2 件選択中(順番にタップ)」のように進み具合が出て、両方を含む共通セレクタ、または基準→対象のたどり方を自動で作ります。 |
| 完了 | いくつでも選べるモード(候補をまとめて登録するとき)に出ます。必要なだけタップしてから押すと、選んだ分がまとめてノードに入ります。 |
| ブラウザ取得 | BROWSER STATE モードのボタン。今のページから「取得対象」(URL・タイトルなど。案内文に表示)の実際の値を読み、ブラウザ状態チェックの比較値として持ち帰ります。 |
| ラベル更新 | ラベル更新モードのボタン。表のある画面まで移動してから押すと、その表の行ラベル・列ラベルを読み取り、スマートテーブルタップのセル一覧を作り直します。テーブルのセレクタが未設定だと動きません。 |
| CSSセレクタ検証 | 取得モードでも使えます。取った直後に候補を入れて件数を確かめると、持ち帰る前に「狙いどおりか」が分かります。 |
インスペクターを ON にしてページの要素をタップすると、画面の下にこのパネルが開きます。Run の実行画面でも(停止中なら)同じものが使えます。
| 行 | 読み方 |
|---|---|
CSS Selector | その要素を指す CSS セレクタ(自動生成)。ノードのセレクタ欄にそのまま貼れます。長いときは削って短くするのがコツです。 |
XPath | 同じ要素を別の書き方(XPath)で指したもの。CSS で指しにくい要素の逃げ道です。 |
id class name type value text | 基本の属性。id・class はセレクタの材料に、text・value・class は「空き/満」を見分ける条件の材料になります。無いものは行ごと出ません。 |
| すべての属性 | 折りたたみ。その要素が持つ全部の属性(data-*、disabled、aria-* など)の一覧。状態を表す属性はここに隠れていることが多いです。プルダウン(select)なら選択肢の一覧も出ます。 |
| ボタン | 働き |
|---|---|
| 各行のコピー | 行の右端のアイコンで、その値だけをコピーします。 |
| すべてコピー | セレクタと全属性をひとまとめにコピーします。ノードの編集画面の「貼り付けて指定」で、そのまま設定に反映できます(レコード・要素状態チェック・スマート系では属性の候補にも入ります)。同じ要素を複数のノードで使い回すときや、調べた内容を人に渡すときに便利です。 |
| 隠す | パネルを畳み、タップの横取りも止めて、ページをふつうに操作できるようにします。畳んでいる間は下に細いバーが残ります。 |
| 属性を再取得 | 「隠す」で畳んだあとに出るボタン。ページを操作してから押すと同じ要素の属性を読み直し、変わった属性を色付きで示します。「押したら class がどう変わるか」「選択状態はどの属性に出るか」を突き止める最短の方法です。分かった属性は、そのままタップ条件の判定材料になります。 |
| 閉じる | パネルを消します。インスペクター自体は ON のままなので、別の要素をタップすればまた開きます。 |
練習は チュートリアル Lv.4(インスペクター) と、 セレクタ分析方式の「周辺を順にタップして読む」手順で。
下のバーの を押すと、上のバーの下に「CSS検証」の行が出ます。セレクタを直す前・直した後に、必ずここで件数を見る癖をつけると失敗が減ります。
| 部品 | 働き |
|---|---|
| 入力欄 | 調べたいセレクタを打ちます(例:#button-a、.item > a)。打つそばから判定され、当たった要素がページ上でハイライトされます。ページが移動・更新されると、同じセレクタで数え直します。 |
| 3 件 | 当たっている要素の数。1個取得なら 1 件、複数個取得なら狙った個数になるまで調整します。 |
| 0 件 | 文法は正しいが、今のページには当たらない。要素がまだ出ていない、タブの中で隠れている、名前が変わった、のどれかです。 |
| 不正なセレクタ | セレクタとして読めない。カッコや引用符の閉じ忘れ、全角文字の混入が多いです。 |
| — | 入力欄が空。 |
| クリア | 入力とハイライトを消します。 |
自動取得した長いセレクタから手前の階層を1段ずつ削り、削るたびに件数が変わらないことを確かめます(壊れにくいセレクタにするチップス)。
実行ログで not_found が出たセレクタをここに貼ります。0 件なら名前が変わっているので、インスペクターで取り直します。
「画面に見えているか」は CSS セレクタでは判定できません。件数はあっても押せない要素は、条件「要素が表示されている」で見分けてください。
ホームの Run でフローを選ぶと開きます。作る系のボタン(デバッグ開始、AIで自動作成、このページを記録、取得モード)はありません。
| ボタン | 働き |
|---|---|
| 戻る | ホームへ戻ります。実行中に押すと「続ける/停止して戻る」の確認が出ます。 |
| 実行時間ぎれの通知音 | 右上。残り時間の仕組みがある無料プランのときだけ出ます。時間が 0 になってサイクルの終わりで止まるときに鳴らす音を選びます。 |
| インスペクター | Create と同じもの。実行中は押せません(ページ操作をロックしているため)。うまく動かなかった場面を調べるときは、いったん「停止」してから使います。 |
| 記録CSVを共有 | Create と同じ。回している間にレコードノードが貯めた値を書き出します。 |
| 自動化 | 下の中央の大きなボタン。選んだフローを順に実行し、1周(サイクル)ごとに実行間隔をあけて繰り返します。 |
| 停止 | 実行中は同じ場所がこれになります。押すと「停止処理中…」を経て止まります。音が鳴っていれば一緒に止まります。 |
| 実行ログ | Create と同じログパネル。繰り返しの記録が溜まるので、「思っていたのと違う」ときは止めてから エラーのみ で絞って探します。 |
| サイクル 3 | 画面に出る回数表示。何周目かと、複数フローのときはどのフローを実行中かが分かります。 |
| ♪ 音の名前 | サウンドノードの音が鳴っている間、右上に出ます。横の停止アイコンで音だけを止められます(フローは続きます)。 |
「今日は101号室、明日は103号室」のように狙いが変わるたびにフローを作り直すのは大変です。
候補をまとめて登録しておけば、あとはON/OFF を切り替えるだけで対象を変えられます。
部屋・日付・URL ごとにフローを分けて作ることになり、数が増えるほど管理が大変になります。 狙いを変えるたびにノードを開いてセレクタを入れ直す必要もあります。
フローは1本のまま。候補を全部登録しておき、実行の前に今回使うものだけ ON にします。 候補には自分で分かりやすい名前を付けられるので、一覧から選ぶだけで済みます。
スマート系のノード(スマートタップ/スマートチェック/スマートテーブルタップ/スマートリロード)に、候補を複数まとめて登録する。登録は「タップで指定」でOK。候補には「101号室」「10/12の枠」のような名前を付けておくと、あとで選びやすくなります。
キャンバスでそのノードをタップし、メニューの「入力制御」を開く。登録した候補が一覧で並びます。
今回の狙いだけを ON にして保存し、Run で実行する。次回は ON/OFF を変えるだけで、別の対象を狙えます。(新しく追加した候補は最初から ON です)
| ノード | 入力制御で選ぶもの | 使いどころの例 |
|---|---|---|
| スマートチェック | 今回監視する対象 | 気になる部屋をまとめて登録し、空きを見たい部屋だけ ON にする |
| スマートタップ | 今回タップ対象とする条件 | 「気になる部屋をまとめて登録し、空いていたらタップしたい部屋だけ ON にする |
| スマートテーブルタップ | 今回タップ対象とするセル | カレンダー表から、10/12・10/13 の枠だけ ON |
| スマートリロード | 今回リロードする URL(上から順に実行) | 日付・店舗ごとの URL を並べ、今週分だけ ON |
練習
空室照会ページで、101号室・102号室・201号室のバッジをスマートチェックに3つ登録し、入力制御で1部屋だけ ON にして実行してみましょう。ON を変えるだけで、鳴るタイミングが変わります。
練習ページを開く
ノードの使い方はチュートリアルで。
ここでは「何から手を付けるか」の段取りと、よくあるフローの型を紹介します。
どのサイトでも進め方は同じです。最初から完成形を狙わず、小さく作って動かしながら拡張していきます。
アプリ内ブラウザで対象ページを開き、「どこが変わるのか」「何を押せば次に進むのか」を確かめます。
「Create」でノードを追加していきます。まずは、ボタンをタップするなど簡単な形から。
Create のブラウザ画面で「デバッグ開始」や「この要素のみ実行」を使い、1ノードずつ動きを確認。実行ログに結果が出ます(ログの見方)。
「Run」でフローを選び、実行間隔を決めて開始。止めるまで繰り返されます。
かんたんに言うと
「何をしたいか」を日本語で書くだけ。 どのノードを使うか、どう並べるかは AI が考えて、下書きを組み立ててくれます。 ノードの名前を覚えていなくても、セレクタが分からなくても始められます。
たとえば「101号室が空いたら音で知らせて」と書けば、 リロード → 待機 → スマートチェック → 音を鳴らす、といった並びが出来上がります。 あとはキャンバスで中身を見て、直したいところだけ手で直せば完成です。
作ったあとの直しも文章で頼めます。 「音の前にタップを足して」「102号室も見るようにして」のように、続けて依頼できます。
Create のブラウザ画面の (AIで自動作成)から使います。AI は表示中のページを読み取り専用で調べてノードの並びを組み立て、編集中のフローに反映します。AI はブラウザを操作せず、フローの実行もしません。(ご利用には対応プランが必要です)
内蔵ブラウザで対象ページを開く。検索や絞り込みが要るページは、その操作を済ませた画面にしておく(AI はいま表示されている状態しか見られません)。
インスペクターで対象をタップ →「すべてコピー」→ AI の画面で「貼り付けて指定」。一覧から選ばせたいときは、1 件ではなく一覧全体を囲む箱を渡すのがコツ。
依頼文を書く。目的だけでなく「どのノードで何をしてほしいか」まで書くと狙いに近づきます(例:「満室でない行のボタンをスマートタップの候補に全部登録して、実行前に選べるようにして。無ければ何もしないで終了して」)。
「フローに反映」したら、キャンバスで並びを確認し、「デバッグ開始」で 1 つずつ動きを確かめる。直したいところは、同じフローで AI の画面を開き直して「ここをこう直して」と続けて頼めます。
簡単に言うと
1回目は「知らせるだけ」のフロー、2回目に「タップ」をフローに追加するという、2回に分けた作り方です。
なぜ2回に分けるのか。予約サイトの「予約する」ボタンは、空きが出たときにしか画面に現れません。 満室のあいだは押すボタンが存在しないので、「タップで指定」しようにも指定できないことが多いです。
そこで第1段階では「満室」バッジなどのいま見えているものを見張り、 変化したら音で知らせるだけのフローを作ります。音が鳴った=「満室」バッジが変化した=空きが出たなので、 音がなったときは「予約する」ボタンが現れているはずです。 第2段階では、その時現れたボタンの情報をコピーし、フローにタップ処理を追加します。
まずはウェブサイトの変化を見張って音をならします。
音が鳴ったときに現れたボタンを指定し、第1段階のフローに「タップ」を足します。
「Create」で新しいフローを作り、「リロード」ノードに対象ページの URL を入れる。
「待機」ノードを置き、条件を「ページ読み込み完了」にする。
「スマートチェック」ノードを置き、監視対象を「タップで指定」で取る。タップするのはいま「満席」「×」「受付終了」と出ている部分(バッジや、押せないボタン)。空きが発生した時に変化してそうなところをタップするのがコツです。
チェック条件の判定を「要素の状態が変化した」にする。作ったときの属性(表示文字 text・class など)が一覧に並ぶので、変化を見たいものを選びましょう。迷ったらとりあえず全て選択しておけばOKです。空きが発生していないのに音が鳴る時は変化を見る要素を削っていけばOKです。
そのチェック条件のサブフローに「音を鳴らす」を置き、ループ再生を ON にする(止めるまで鳴り続けます)。
同じスマートチェックの「対象要素が取得できなかったとき」にも、手順 5 と同じサブフローを割り当てましょう。空きが出ると「満席」バッジや押せないボタンが要素ごと消えるサイトがあり、その場合は「変化した」ではなく「取得できなかった」として現れるためです。未割当のままだと、消えても音は鳴らずに素通りしてしまいます。
保存して「Run」へ。実行間隔(初期値 30 秒)を決めて開始。画面はそのまま開いておきましょう。
ここが 2 段階方式の要です。空きが出ているうちに、次回自動で押すためのフローを作成します。
自動実行を停止し、インスペクターを ON にして、出てきた「予約する」ボタンをタップ。表示されるセレクタ・表示文字・属性(class、disabled の有無など)を確認する。
「すべてコピー」を押して、「予約する」ボタンの情報をコピーする。ノードの「貼り付けて指定」にそのまま使えます。
第一段階で作成したスマートチェックのサブフローの音を鳴らすノードの前にタップを追加し、「貼り付けて指定」ボタンでタップ対象をタップノードに設定する
実際に予約ボタンを押して、次に何が起きるかを見る。確認ダイアログ(OK / キャンセル)が出るのか、確認画面に移ってもう一度ボタンを押すのか。
第1段階のフローを複製する。スマートチェックの判定(要素の状態が変化した)と「対象要素が取得できなかったとき」の割り当てはそのまま使うので、条件を組み直す必要はありません。
スマートチェックのサブフローを開き、「音を鳴らす」の前に「タップ」ノードを追加する。タップ対象は、メモしておいた予約ボタンの情報を「貼り付けて指定」で入れる。第1段階で「変化した」と「取得できなかったとき」に同じサブフローを割り当てていれば、この修正 1 回でどちらの経路も同じように押されます。
押したあとに確認ダイアログが出るサイトなら「ダイアログ応答」ノードをタップの前に置いて OK を予約する。
サブフローの最後は「音を鳴らす」のままにして、押せたことに気付けるようにする。
Create のブラウザ画面で「デバッグ開始」し、実行ログで判定の結果を確認してから Run へ。
練習
空室照会ページは 60 秒ごとに空室・満室が入れ替わります。まず「101号室のバッジが変化したら音」の第1段階フローを作り、鳴ったらインスペクターで「予約する」ボタンを調べて、サブフローにタップを足す第2段階フローに進んでみましょう。
練習ページを開くどのサイトでも、だいたいこの 5 つの組み合わせに収まります。どの進め方でも、最終的に組むフローはこの形です。
空き・在庫・当選発表など「状態が変わったら教えてほしい」だけのとき。押す操作を含まないので、いちばん安全。
空きが出たら予約ボタンを押し、確認ダイアログを通す。B の第2段階。
押す操作はスマートチェックの「一致したら…」サブフローの中に入れます。「ダイアログ応答」は次に出る確認ダイアログへの返事を先に予約するノードなので、押すノードの前に置きます。
毎回同じ入力を繰り返す作業。目的のページへ → 入力 → 送信。
日付ごと・店舗ごとに URL が分かれているとき。「スマートリロード」に URL を並べ、URL ごとのサブフローで判定する。
URL は 1 周で終わり、繰り返しは Run が担います。URL の数 × 読み込み後の待機(最低 1 秒)が 1 周の目安です。
行が時間・列が日付のような表から、○ のセルを見つけて押す。
「何度も同じページを見に行く」をやめるための、目的別のフローの作り方集です。
すべて練習ページで手を動かしながら試せます。コピーして使えるフロー付き。
どのレシピにも共通の前提
初心者向け・いちばん手軽な始め方
やりたいことを文章で書くと、AI がフローの下書き(ノードの並び)を組み立てます。
ノードの名前を覚えていなくても、CSSセレクタが分からなくても大丈夫です。
慣れてきたら「どのノードで何をしてほしいか」まで書くと、より狙いに近づきます。
Create のブラウザ画面で (AIで自動作成)を押すと、依頼文を書く画面が開きます。 AI はいま表示しているページを読み取り専用で調べ、依頼にあうノードの並びを組み立てて、 編集中のフローに反映します。
AIによる自動作成は、対応プランにご加入いただくと使えるようになります(広告の視聴では解除されません)。 プランごとに期間あたりの利用量の上限があり、依頼画面の右上に「今週の残り ◯%」として表示されます。 お申し込み・残量の確認はアプリ内の「Subscribe」から行えます。
この機能を使うときだけ、次の内容が提供者のサーバーを経由して、国外の AI サービス事業者へ送られます。 はじめて使うときに内容を表示しますので、ご確認のうえ同意してください。
フローを開き、対象ページを表示する。Create でフローを作る(または既存のフローを開く)→ 内蔵ブラウザで対象のページを開きます。AI はいま表示されている状態しか見られないので、検索や絞り込みが要るページは、その操作を済ませた画面にしておきます。
(おすすめ)対象の要素を渡す。インスペクターで対象をタップ →「すべてコピー」→ AI の画面で「貼り付けて指定」。渡さなくても AI は自分で探しますが、渡したほうが狙いがぶれません。一覧から選ばせたいときは、1件ではなく一覧全体を囲む箱(カードの束・区画)を渡すのがコツです。
したいことを書く。下の「依頼文の書き方」を参考に、どのノードで何をしてほしいかまで書きます。
「作ってもらう」を押して待つ。AI がページを調べている間、進み具合が表示されます。この画面を閉じると作成は中止されるので、そのままお待ちください(数十秒〜数分かかることがあります)。
「もう少し調べますか?」と聞かれたら選ぶ。ページの確認回数が上限に達してもまとまらないときに出ます。「続ける」(そのぶん利用量が増えます)/「ここまでで組む」/「やめる」から選べます。やめるとその依頼は終わりですが、調べた内容はやり取りとして残り、次に開いたときに「前回の続きから始めますか?」で「続きから」を選ぶと、それを踏まえて頼み直せます。
「フローに反映」。組み上がった内容が編集中のフローに取り込まれます。反映せずに閉じると結果は残りません。
確認して試す。キャンバスでノードの並びと条件を確認 →「デバッグ開始」で動きを見る → 直したいところがあれば、もう一度 AI に「ここをこう直して」と頼むか、手で調整します。
いちばん多い失敗は「目的だけ書く」ことです。目的だけだと AI は組み方まで決めきれず、 単純なタップの並びになりがちです。どのノードで・何を基準に・空振りのときはどうするかまで書くと、狙いに近づきます。
範囲を言わないと、ページ全体から似た要素を拾って、関係ないところまで対象に入ることがあります。一覧全体を囲む箱を「貼り付けて指定」で渡すか、文章で範囲を書きます。
スマートタップの候補は、実行前の「入力制御」で 1 行ずつ ON / OFF できます。候補を 1 つに絞らせてしまうと、そのときどきの狙いを選べなくなります。
「上から3番目」のような位置での指定は、枠が増減したり並び替わったりすると壊れます。表示文字・バッジ・押せる/押せない といった内容を基準にすると長持ちします。
見つからなかったときの動きを書かないと、想定外の枝に進むことがあります。基本は「何もしないで終わる」→ Run の繰り返しが次の周回でまた見に行く、という形です。
デバッグ実行のあと、実行ログの見出しにある (AIに渡す形でコピー)を押すと、要点だけに畳んだログがコピーされます。「エラーのみ」を ON にしてからコピーすると、失敗した行だけを渡せます。それを依頼文の下に貼り付けてください。
コピーして、対象のページに合わせて言葉を入れ替えてお使いください。 練習には空室照会の練習ページとカレンダーの練習ページが使えます。
| 起きたこと | 試すこと |
|---|---|
| 関係ない要素まで対象に入っている | 一覧全体を囲む箱をインスペクターでコピーして「貼り付けて指定」で渡し、「この箱の中だけを対象にして」と書き添えます。 |
| 候補が 1 件しか登録されない | 「候補は1つにまとめず、1件ずつ分けて全部登録して」と明示します。並んでいるものの一部しか入らないときは、対象の範囲も一緒に指定します。 |
| 実行しても何も起きない | デバッグ実行の実行ログを「エラーのみ」でコピーして貼り、「当たるように直して」と頼みます。候補のセレクタが設定されていないスマートタップの行は、その場で飛ばされます(タップ条件が未登録なら、対象要素があればそのままタップします)。 |
| 「ページの確認が上限に達しました」と出る | ページが複雑なときに出ます。「続ける」で調べ続けるか、いったん「やめる」て、対象の要素を渡してから頼み直すと早く決まります。 |
| 「できません」と返ってくる | アプリが未対応の操作(スクロールが必要・iframe の中・ホバーで出るメニューなど)の可能性があります。返ってきた理由をご確認ください。 |
| 途中で閉じてしまった | その依頼は中止されます。同じフローでもう一度 AI の画面を開くと「前回の続きから始めますか?」と聞かれ、「続きから」を選ぶと、それまでのやり取りを踏まえて頼み直せます。 |
| 残量が減るのが早い | ページを調べる往復が増えるほど利用量も増えます。対象の要素を渡す・範囲を絞る・依頼を 1 つずつに分けると少なく済みます。 |
練習
空室照会の練習ページは 60 秒ごとに空室・満室が入れ替わります。まず例文 A で「変化したら音」を作り、動いたら例文 B で「空いている部屋のボタンを候補に全部登録」に育ててみましょう。
練習ページを開く
フローが「どこまで進んで、どこで止まったか」は、すべて実行ログに出ています。
この記事は、その1行ずつが何を表しているのかを読み解くための辞書です。
実行ログは、ブラウザ画面の下から開くパネルです。Create(作る)側でも Run(回す)側でも、画面右下のターミナル風のアイコン(実行ログ)から開けます(ボタンの並びはブラウザ画面の見方)。
1ノードずつ試したときの結果がここに出ます。フローを組んでいる最中は、こちらを見ながら直していくのがいちばん早いです。
繰り返し実行の記録が出ます。「思っていたのと違う動きをした」ときは、止めてからログをさかのぼって原因の行を探します。
どの行も形は同じです。「いつ」「どのノードが」「何をしたか」の3つでできています。
[14:03:21]その行が出た時刻(時:分:秒)。行と行の時刻の差が、そこで待っていた時間です。
(node_4)どのノードが出した行か。フローの中のノードには node_1、node_2… と作った順に番号が付いています。
実際に何をしたか。カッコの中はそのとき使った CSS セレクタです。
| ID | 意味 |
|---|---|
exec | フロー全体の進行。開始・完了・中断や、フローが読み込めなかったときのエラーはここに出ます。 |
run | Run 画面そのものの動き。実行間隔の調整や、繰り返しの停止などです。 |
js_dialog | ページ側が出した確認ダイアログへの応答。 |
node_4 がどのノードか分からないときは。
エディタ右上のメニューから「フローを出力」を開くと、フローの中身がそのまま表示されます。
そこに "id": "node_4" と書かれたかたまりがあり、その type や object_name を見れば、どのノードのことか特定できます。
うまくいかなかった行だけ色が変わります。まずはこの行を探してください。
✓ で始まる行は「条件が満たされた」合図、▶ は開始、■ は中断、↳ と → は「その次にどこへ進んだか」を表します。
ログパネルの見出し行には、4つの操作があります。
| 表示 | できること |
|---|---|
| エラーのみ | 押すとエラー行だけに絞られます。長いログから原因を探すときの入口。もう一度押すと元に戻ります。 |
| ◯◯ 行 | いま何行あるか。「エラーのみ」のときは 3 / 240 行 のように「絞った結果 / 全体」で出ます。 |
| AIに渡す形でコピー | ログを読みやすく要約してクリップボードへ入れます(詳しくは後述)。 |
| ログを消す | いまのログを全部消します。「ここから先だけを見たい」ときに、実行前に押しておくと読みやすくなります。 |
実際に出るメッセージを、種類ごとにまとめました。◯◯ の部分は、そのときの値に置き換わります。
exec)| ログ | 意味 |
|---|---|
▶ 実行開始 | フローを実行し始めました。ここが1回分の起点です。 |
START | START ノードを通過しました。 |
✓ 実行完了 | 最後まで進んで正常に終わりました。 |
■ 実行を中断しました | 停止ボタンなどで途中で止めました。 |
すでに実行中です | 前の実行がまだ終わっていません。二重に実行されないよう、この開始をはじきました。 |
JSON のパースに失敗: ◯◯ | 読み込んだフローの中身が壊れています。貼り付けが途中で切れていないか確認してください。 |
flow が空、もしくは配列ではありません | フローの本体が入っていません。こちらも、貼り付けが途中で切れていないか確認してください。 |
schema_version が現行 (◯◯) と異なります: ◯◯ | 別のバージョンで作られたフローです。実行自体は続きますが、動きが違う可能性があります。 |
例外: ◯◯ | 想定外のエラーで実行が止まりました。 |
未対応のノードタイプ: ◯◯ | このアプリが知らない種類のノードでした。読み飛ばして次へ進みます。 |
| ログ | 意味 |
|---|---|
リロード: https://◯◯ | そのURLを開き直しました。URL が空のときは リロード: 現在のページ と出ます。 |
リフレッシュ: https://◯◯ | キャッシュを消してから開き直しました(リロードノードのキャッシュクリアが ON)。 |
移動を中止: http/https 以外のURLは実行できません (◯◯) | 安全のため、通常のWebページ以外へは移動しません。URL の書き間違いがないか確認してください。 |
読み込み後待機: 2.0s | 読み込みが終わったあと、この秒数だけ待ちました。 |
読み込み後待機: 3.0s (最低待機時間) | 設定より長く待ちました。理由は「待機が設定より長い」を参照。 |
| ログ | 意味 |
|---|---|
タップ: 予約する (button.reserve) | その要素をタップしました。カッコの前は、ノードに付けた名前です。 |
タップ失敗: ◯◯ | タップできませんでした。◯◯ は理由コードです。 |
タップ: CSSセレクタが空です | ノードに対象が設定されていません。 |
タップ後待機: 1.0s | タップしたあと、この秒数だけ待ちました。 |
| ログ | 意味 |
|---|---|
入力: 日付 (#date) → 10文字 nnnn/nn/nn | 入力しました。値そのものは残らず、文字数と形だけが出ます。 |
反映: 一致 | 入力した内容が、ページ側にそのまま入りました。 |
反映: 不一致 (DOM側は空) | 入力したのに、ページ側は空のままです。入力欄の指定違いが疑われます。 |
反映: 不一致 (DOM側は 10文字 nnnn-nn-nn) | ページ側が書式を変換しました。多くの場合そのままで問題ありません。 |
反映: 確認できず | 入力後の状態を読み取れませんでした。 |
入力失敗: ◯◯ | 入力できませんでした。理由コードを参照。 |
Enter を送信 | 入力後に Enter キーを送りました(ノードの設定が ON のとき)。 |
入力後 (Enter前) 待機: 0.5s / Enter後待機: 1.0s | それぞれの段階で待った秒数です。 |
| ログ | 意味 |
|---|---|
読み込み待機: ◯◯ (timeout: 15.0s) | 待機ノードが始まりました。◯◯ は条件の種類、timeout は最長で待つ秒数です。 |
スリープ: 3.0s | その秒数だけ待ちました。 |
要素が出現するまで待機: ◯◯ → ✓ 要素が出現しました: ◯◯ | 指定した要素がページに現れるまで待ち、無事に現れました。 |
要素が消えるまで待機: ◯◯ → ✓ 要素が消えました: ◯◯ | 読み込み中の表示などが消えるまで待ち、無事に消えました。 |
要素が表示されるまで待機: ◯◯ → ✓ 要素が表示されました: ◯◯ | 要素が画面に見える状態になるまで待ちました。 |
URLが "◯◯" を含むまで待機 → ✓ URL に "◯◯" が含まれました | ページが移動して、URL に目印の文字が含まれるまで待ちました。 |
ネットワーク静止待機 (静止時間: 1.0s, timeout: 15s) → ✓ ネットワーク静止を確認 (1.0s) | ページの裏側の通信が落ち着くのを待ちました。 |
✓ document.readyState = complete | ページの読み込みが完了しました。 |
タイムアウト (◯◯) | 時間内に条件が満たされませんでした。カッコの中が、満たされなかった条件の種類です。ログを追うときに最も重要な行のひとつ。 |
未知の wait_condition: ◯◯ → document_ready で代替 | 条件の種類が分からなかったので、読み込み完了で代用しました。 |
| ログ | 意味 |
|---|---|
条件判定 → Yes / 条件判定 → No | 条件を調べた結果です。Yes なら Yes 側、No なら No 側へ進みます。 |
条件: 要素が見つからない (◯◯) | 比べる相手の要素がページにありませんでした。この場合の判定は No になります。 |
条件: css_selector が空 / 条件: attribute が空 | 条件の設定が足りていません。 |
ブラウザ状態判定 → Yes / → No | ブラウザ側の状態(保存されている値など)を調べた結果です。 |
ブラウザ状態: 値が取得できません (◯◯) | 調べたい値が存在しませんでした。 |
候補を上から順に調べ、条件に合ったものだけを実行するノードです。1件ずつ結果が出るので、「なぜその候補が選ばれた/飛ばされたか」がそのまま読めます。
| ログ | 意味 |
|---|---|
スマートタップ: 3 件評価 | ON になっている候補が3件あり、これから上から順に調べます。 |
スマートチェック: 3 件評価 | スマートタップと同じ流れですが、条件のチェックだけを行い、タップはしないノードです。 |
[ラベル] 条件一致: ◯◯ | その候補が条件を満たしました。ここから先に進みます。 |
[ラベル] 条件不一致 → スキップ | 条件を満たさなかったので、次の候補へ移ります。 |
[ラベル] セレクタ未設定 → スキップ | その候補に対象が設定されていません。 |
[ラベル] single: 対象要素 ◯◯ / multi: querySelectorAll = 5 件 | 対象の要素が何件見つかったかを表します。single は1件だけ、multi は複数まとめて調べるモードです。 |
[ラベル] ◯◯: 一致する候補なし → 次のエントリ | 見つかった要素の中に、条件に合うものがありませんでした。 |
[ラベル] ◯◯[#2 / tc_1] タップ成功 | #2 は何番目の要素をタップしたか、tc_1 はどのチェック条件に一致したかを表します。 |
[ラベル] ◯◯[#2 / tc_1] タップ失敗: ◯◯ | 条件には合ったのに、タップできませんでした。 |
[ラベル] ◯◯: 有効なチェック条件なし → スキップ | その候補に条件が1つも設定されていません。 |
[ラベル] ◯◯: 対象要素が取得できなかった → 専用サブフローへ | 対象が取れなかったときの行き先が設定されていたので、そちらへ進みました。 |
どれにも一致しなかった → flow_◯◯ | 全候補が不一致でした。設定した「一致しなかったとき」の出口へ進みます。 |
どれにも一致しなかった → 終了 | 全候補が不一致で、行き先も設定されていないため、ここで終わりました。 |
複数のURLを順番に開いていくノードです。
| ログ | 意味 |
|---|---|
スマートリロード: 4 件のURLを順番にリロード | ON になっているURLが4件あります。 |
▶ ◯◯ | このURL(またはラベル)を開きました。以降の行は、このURLでの出来事です。 |
↳ サブフロー未割当 → 次のURLへ | このURLには開いたあとの処理が設定されていないので、次のURLへ進みます。 |
↳ 次のURLへ | このURLでの処理が終わり、次へ進みます。 |
↳ ゲート: ◯◯ | このURLで条件が成立したので、残りのURLは回さずにその出口へ抜けました。 |
全URLのリロード完了 → flow_◯◯ | 全部のURLを回りきりました。 |
| ログ | 意味 |
|---|---|
スマートテーブルタップ: 6 件評価 [◯◯] | ON になっているセルが6件あります。角カッコの中は、対象の表の指定です。 |
[セル名] 不一致 → 次のセル | そのセルは条件に合いませんでした。 |
[セル名] ✓ タップ完了 | そのセルをタップしました。 |
[セル名] 一致したがタップ失敗: ◯◯ | 条件には合ったのに、タップできませんでした。 |
全セル 不一致 → 終了 / → flow_◯◯ | どのセルも条件に合いませんでした。 |
スマートテーブルタップ: table_selector が空 | どの表を見るかが設定されていません。 |
スマートテーブルタップ: ON セルなし → 終了 | 調べる対象のセルが1つも ON になっていません。 |
スマート系ノードの中に組んだ、小さなフローの動きです。行頭の ↳ が目印になります。
| ログ | 意味 |
|---|---|
↳ 内部サブフロー実行開始 (5ノード) | 中のフローに入りました。 |
↳ if(◯◯) → Yes / ↳ browser_check(◯◯) → No | 中の条件ノードの判定結果です。 |
↳ 内部サブフロー終了ノード → ゲート: ◯◯ | 中の終了ノードに到達し、その値に応じた出口へ抜けました。 |
↳ 内部サブフロー実行完了(終了ノード未到達 → 既定ゲート) | 終了ノードに到達しないまま中のフローが最後まで進んだため、既定の出口へ進みました。 |
↳ 未対応の内部ノードをスキップ: ◯◯ | 中では使えない種類のノードだったため、読み飛ばしました。 |
| ログ | 意味 |
|---|---|
記録: 空室数.text = "残り2室" | 記録ノードが値を取得しました。[2] が付くときは、複数まとめて記録したうちの2件目です。値が長いときは末尾が … で省略されます。 |
記録失敗: 要素が見つかりません (◯◯) [◯◯] | 記録したい要素がページにありませんでした。 |
記録のCSV保存に失敗: ◯◯ | 値は取得できましたが、ファイルに保存できませんでした。端末の空き容量を確認してください。 |
音再生: チャイム (vol=0.8, loop) | 音を鳴らしました。loop が付いていれば、止めるまで鳴り続けます。 |
音再生エラー: ◯◯ | 音を鳴らせませんでした。 |
音再生: ◯◯ が ◯ 秒以内に終わりませんでした → 続行 | 音の再生処理が時間内に終わらなかったため、待つのをやめて次へ進みました。 |
confirm(): "◯◯" → OK / alert(): "◯◯" (自動でOK) | ページが出した確認・お知らせのダイアログに、自動で応答しました。 |
次のJSダイアログへの応答を予約: OK | 次に出るダイアログへの答えを、あらかじめ決めておきました。 |
run)| ログ | 意味 |
|---|---|
実行間隔を最低値の ◯ 秒に引き上げました (設定値: ◯ 秒) | 設定した間隔が短すぎたため、下限まで広げました。理由は後述。 |
◯◯: 実行エラー: ◯◯ | そのフローの実行中にエラーが起きました。繰り返し自体は続きます。 |
実行時間の残りが 0 になったため、このサイクルを最後に停止しました | 実行できる時間を使い切りました。 |
停止処理が終わらないため、ページ操作のロックを先に解除しました | 停止に時間がかかったので、先に画面を操作できる状態に戻しました。 |
タップ失敗: not_found のように、失敗した行の末尾に付く英語の短い語です。これがそのまま原因を指しています。
| コード | 意味と、まず試すこと |
|---|---|
not_found | 指定した要素がページに無い。いちばんよく出ます。①セレクタが実際のページと合っているか(インスペクターで取り直す)、②その時点でまだ表示されていないのでは(手前に待機ノードを入れる)、の順で確認してください。 |
empty_selector | 対象が設定されていません。ノードを開いて指定し直してください。 |
invalid_selector | セレクタの書き方が正しくありません。手で編集した場合は特に、記号の閉じ忘れを確認してください。 |
unsupported_element | そこは文字を入力できる場所ではありません。入力欄そのものではなく、その周りの飾りを指定していることが多いです。 |
click_error | タップしようとした瞬間に、ページ側でエラーが起きました。 |
input_error | 入力しようとした瞬間に、ページ側でエラーが起きました。 |
enter_error | Enter キーを送るときにエラーが起きました。 |
not_found_relative | 基準の要素は見つかったが、そこから辿った先の要素が見つかりませんでした。「相対指定」の辿り方を見直してください。 |
relative_eval_error | 相対指定の式を辿る途中でエラーになりました。 |
tap_not_found | 条件には一致したのに、実際に押す対象が見つかりませんでした。 |
table_not_found | 指定した表がページにありません。 |
row_out_of_range / col_out_of_range | 表の行数・列数が、設定したときより減っています。表の中身が入れ替わるページでよく起きます。 |
no_rows | 表はあるが、行が1つもありませんでした。 |
parse_error / js_error | ページからの返答を読み取れませんでした。ページ移動の最中に重なった可能性があります。 |
そのうえで、実行ログには入力した文字そのものは残りません。ログは画面に映りますし、コピーして外部へ渡すこともあるためです。 代わりに「何文字だったか」と「どんな文字の並びだったか」だけが出ます。
| 記号 | 元の文字 |
|---|---|
n | 半角の数字 |
a | 半角の英字 |
Z | 全角文字・ひらがな・カタカナ・漢字 |
s | 上のどれでもない半角記号 |
- / : . @ _ + ( ) [ ] # と半角スペース | そのまま表示されます(書式の違いを見分けるため) |
… | 40文字を超えた分は省略 |
(空) | 入力する文字が空でした |
4文字 ZZZZ と出ていたら、数字を入れたつもりが全角で入っているということ。
nnnn-nn-nn のはずが nnnn/nn/nn なら区切り記号の違い。
ZZ{ZZ} のような並びが残っていたら置き換えるつもりだった目印がそのまま入っている。
入力がうまくいかない原因は、だいたいこの3つのどれかです。
なお、この形から元の文字を復元することはできません(同じ形になる文字は無数にあるためです)。
「うまく動かない」ときは、まず「エラーのみ」を押して、下の表と照らし合わせてください。
| 症状 | 探すログ | ありがちな原因 |
|---|---|---|
| ボタンが押されない | タップ失敗: not_found |
セレクタがページと合っていない/その時点でまだボタンが出ていない。手前に「待機(要素が出現)」を足すと直ることが多いです。 |
| 入力欄が空のまま | 反映: 不一致 (DOM側は空)入力失敗: unsupported_element |
入力欄そのものではなく、その周りを指定している。インスペクターで入力欄を取り直してください。 |
| 入力はできたが弾かれる | 入力: … → 4文字 ZZZZ |
全角で入力している、書式が違う、目印が置き換わっていない。形の読み方を参照。 |
| そこでずっと止まる | タイムアウト (element_appears): ◯◯ |
待っている要素が現れない。セレクタ違いか、そもそもその条件にならないページ。待ち時間(timeout)を延ばして解決するのは、あと一歩足りないときだけです。 |
| 何も起きずに終わる | どれにも一致しなかった → 終了全セル 不一致 → 終了 |
候補の条件が全部外れています。まだ空きが出ていないだけのこともあります。条件を作ったときとページの表示が変わっていないか確認してください。 |
| 思っていない方へ進む | 条件判定 → No |
条件の比較のしかた(含む/等しい/存在する)と、比べる値を見直してください。直前の 条件: 要素が見つからない も手がかりになります。 |
| 表の中の位置がずれる | row_out_of_range / col_out_of_range |
表の行数・列数が設定時から変わっています。設定し直すか、位置ではなく中身で判断する条件に変えてください。 |
| 読み込んだフローが動かない | JSON のパースに失敗flow が空、もしくは配列ではありません |
貼り付けが途中で切れています。全文をコピーし直してください。 |
| 設定より長く待っている | タップ後待機: 1.0s (最低待機時間のため 0.2s から引き上げ)実行間隔を最低値の ◯ 秒に引き上げました |
不具合ではありません。相手のサイトに負担をかけすぎないよう、待ち時間には下限が決められていて、設定がそれより短いときは自動で引き上げられます。詳しくは使う前に確認したいことを参照。 |
| 同じ行が延々と続く | 同じ数行の繰り返し | 空きを待つフローでは正常な動きです。ログは最新500行までなので、原因を調べるときは実行を止めてから見てください。 |
ログパネルのコピーボタンは、生のログをそのまま写すのではなく、読みやすく要約したものをクリップボードに入れます。 コピーされる文章はこんな形です。
空きを待つフローは同じ数行を何十回も出します。それを (上記 3 行 ×27回 繰り返し) の1行にまとめます。500行が数十行になります。
パネルで「エラーのみ」を選んでいると、エラー行とその前後だけが入ります。エラーが1件も無いときは全体が入ります。
URL の ? より後ろは ?… に置き換わります。そこには、そのとき限りの識別子などが入っていることがあるためです。
コピーした文章では、エラー行の先頭に ! が付きます。色が使えないぶんの目印です。
記録ノードが集めた値は、実行ログとは別に CSVファイルとしてアプリの中に貯まっていきます。 ログがアプリを閉じると消えるのに対し、こちらは消すまで残ります。ブラウザ画面の「記録CSVを共有」から取り出せます。
| 列 | 中身 |
|---|---|
| 時刻 | 記録した日時(2026-08-30 14:03:21)。 |
| フロー | そのとき動いていたフローの名前。 |
| 記録名 | 記録ノードに付けた名前。 |
| ページURL | 記録した時点で開いていたページ。 |
| 要素番号 | 複数まとめて記録したときの何件目か。1件だけのときは常に 1。 |
| 項目 | 何を取ったか。text は表示されている文字、それ以外は属性の名前です。 |
| 値 | 実際に取れた文字。 |
表計算ソフトで開いたときに、値の先頭に '(アポストロフィ)が付いて見えることがあります。
これは = や + で始まる文字が計算式として解釈されないようにするためのもので、記録された中身は変わっていません。
Smauto は一般的なWebサイトの操作補助を目的としています。 利用規約で自動操作が禁止されているサイトでのご使用はお控えください。
対象サイトの仕様変更により、フローの調整が必要になる場合があります。 正常に動作しない場合は、要素の再指定などを試みてください。
本アプリはバックグラウンドでは動作しません。 実行中はアプリ画面を開いたままご使用ください。
Smautoを使った自動化を練習するためのサンプルサイトです。