05 テキストボックス入力

ここでは、前回までのおさらいをしながら、ウェブページのテキストボックスに値を入力する操作をしてみましょう。


【1】作成するロボットの概要

おしゃべりクッキングのページで、フリーワード欄に「鶏肉」と入力してから検索して、検索結果に表示されたレシピ名、ジャンル、放送日を表示する。

《おしゃべりクッキングのURL》

  https://www.asahi.co.jp/oshaberi/

 ※実際に操作をしてみてくださいね。


【2】操作手順を考える

 操作1:ブラウザでおしゃべりクッキングのページを開く。

 操作2:[レシピ検索]のリンクをクリックする。

 操作3:フリーワード欄に「鶏肉」と入力する。

 操作4:[検索]ボタンをクリックする。

以下、表示されているレシピ一覧を繰り返す。

   操作5:レシピ名を抽出する。

   操作6:ジャンルを抽出する。

   操作7:放送日を抽出する。

   操作8:操作5~7で抽出した値を表示する。


【3】タイプを作成する

(1)プロジェクト・ビューの[研究ロボ]を右クリック→[新規作成]→[Type]をクリックします。


(2)すると、次のようなダイアログが表示されますので、[タイプ名]に「レシピ情報.type」と入力して、[終了]をクリックしてください。


(3)次に、[+]をクリックして、タイプの中に変数を作成していきます。


(4)次の3つの変数を順番に作成してください。

《1つ目の変数》
 名前 : レシピ名
 タイプとデフォルト値 : ショートテキスト
《2つ目の変数》
 名前 :  ジャンル
 タイプとデフォルト値 : ショートテキスト
《3つ目の変数》
 名前 :  放送日
 タイプとデフォルト値 : ショートテキスト

(5)これで、タイプと変数の作成は終わりです。画面左上の[すべて保存]をクリックして保存してください。


【4】ロボットを作成する

【4-1】ロボットを新規作成してページを表示する

(1)プロジェクト・ビューの[研究ロボ]を右クリック→[新規作成]→[Robot]をクリックします。


(2)すると、次のようなダイアログが表示されますので、[ロボット名]に「レシピ検索ロボ.robot」と入力して、[終了]をクリックしてください。


(3)次に、エンドポイントを右クリック→[ステップを前に挿入]→[アクションステップ]をクリックします。


(4)すると、新しいステップが追加されますので、ステップ・ビューの[アクションを選択]をクリック→[ページ読込]をクリックします。


(5)そして、[URL]におしゃべりクッキングのURLを入力します。

《おしゃべりクッキングのURL》

   https://www.asahi.co.jp/oshaberi/



(6)エンドポイントをクリックして、ステップを実行しておいてください。


【4-2】分割された画面を表示する

(1)このページは、よく見ると画面が分割されています。ひとつは[header]で、もうひとつは[contents]という名前の画面(フレーム)です。

このままでは、[レシピ検索]をクリックできません。


(2)そこで、[レシピ検索]があるフレームを右クリック→[その他]→[現在のウィンドウとして設定]をクリックします。


(3)すると、ブラウザ・ビューに新しいタブ[contents]が追加され、[contents]のフレームが操作対象のウィンドウとして表示されます。


(4)よく見ると、この[contents]のフレームも分割されています。ひとつは[menu]で、もうひとつは[promain]という名前のフレームです。

このままでは、やはり[レシピ検索]をクリックできません。


このウェブページの構成

(5)そこで再度、[レシピ検索]があるフレームを右クリック→[その他]→[現在のウィンドウとして設定]をクリックします。


(6)すると、[menu]のフレームが操作対象として表示され、ようやく[レシピ検索]をクリックできるようになりました。


【4-3】レシピを検索する

(1)[レシピ検索]を右クリック→[クリック]をクリックします。


(2)新しいステップが追加され、自動的に実行されます。そして、操作対象のウィンドウが[朝日放送テレビ|…]画面に戻ります。

ステップを追加する操作がうまくいかないときや、ブラウザ・ビューの更新がうまくいかないときは、画面上部の[更新]をクリックして、キャッシュを削除しましょう。


(3)このページは、前述のとおり画面が分割されていますので、[フリーワード]欄があるフレームを右クリック→[その他]→[現在のウィンドウとして設定]をクリックします。


(4)さらに、[フリーワード]欄がある画面(フレーム)を右クリック→[その他]→[現在のウィンドウとして設定]をクリックします。


(5)すると、[promain]の画面が操作対象として表示され、ようやく[フリーワード]欄に文字を入力することができます。


(6)[フリーワード]欄を右クリック→[テキストを入力]をクリックします。


(7)次のようなダイアログが表示されますので、[入力するテキスト]に「鶏肉」と入力して、[OK]をクリックしてください。


(8)すると、テキスト入力ステップ[Enter Text]が追加され、自動的に実行されます。

次に、[検索]ボタンを右クリック→[クリック]をクリックします。


(9)すると、[検索]ボタンをクリックするステップが追加され、自動的に実行されます。これで、検索結果のレシピ一覧が表示されました。


【4-4】レシピ情報を抽出する

(1)ここで、タイプの変数を追加するために、変数・ビューの左下にある[+]をクリックします。


(2)すると、次のようなダイアログが表示されますので、[タイプと初期 / テスト値]のプルダウンメニューか[レシピ情報]を選択してください。

[OK]をクリックすると、「変数に名前がありません」というメッセージボックスが表示されます。ここでは、名前はタイプ名と同じでよいので[はい]をクリックしてください。これで、変数・ビューにタイプの変数が追加されます。


(3)ここからの処理はレシピ一覧の繰り返しなので、繰り返しのステップを作成しましょう。

1件目のレシピ名を右クリック→[ループ]→[クラス付タグ繰り返し]→[re_name]をクリックしてください。


(4)繰り返しステップ[For Each Tag Path]ステップが追加され、これ以降の処理は自動的に繰り返されます。

では、レシピ情報を抽出していきましょう。

1件目のレシピ名を右クリック→[抽出]→[ショートテキスト]→[レシピ情報.レシピ名]をクリックします。

※レシピ名を選択するときは、ソース・ビューを確認して「td」のタグが選択されるようにしてください


(5)すると、レシピ名抽出ステップ[Extract レシピ名]が追加され、自動的に実行されます。

ここで、繰り返し処理が正常に動くか試してみましょう。

いま、青枠(繰り返しの目印)は1件目のレシピ名にあり、変数・ビューの[レシピ名]には1件目のレシピ名が表示されています。

では、繰り返しステップの[>]をクリックして繰り返し回数(イテレーション)を1つ進めてみましょう。


(6)イテレーションは[2]になり、青枠(繰り返しの目印)は2件目のレシピ名に移動して、変数・ビューの[レシピ名]には2件目のレシピ名が表示されます。3件目以降も試してみましょう。

確認が終わったら、イテレーションを[1]に戻します


(7)次に、1件目のジャンルを右クリック→[抽出]→[テキスト]→[レシピ情報.ジャンル]をクリックします。

※ジャンルを選択するときは、ソース・ビューを確認して「td」のタグが選択されるようにしてください


(8)すると、ジャンル抽出ステップ[Extract ジャンル]が追加され、自動的に実行されます。そして、変数・ビューには1件目のジャンルが表示されます。

続いて、1件目の放送日を右クリック→[抽出]→[テキスト]→[レシピ情報.放送日]をクリックします。これで、情報の抽出は終わりです。


【4-5】値返却(Return Value)ステップを追加する

(1)エンドポイントを右クリック→[ステップを前に挿入]→[アクションステップ]をクリックします。


(2)新しいステップが追加されますので、ステップ・ビューの[アクションを選択]をクリック→[値返却]をクリックします。


(3)すると、このステップは値返却のステップ[Return Value]になります。値返却する[変数]は、[レシピ情報]が自動的に設定されます。

これで、ロボットは完成です。画面左上の[すべて保存]をクリックして保存してください。


【4-6】ステップをグループ化する

完成したロボットを見てみると、ステップが横にズラ~ッと長くて見づらいと思いませんか?このままでも動作に支障はないのですが、見やすくわかりやすくするために、ステップをグループ化しましょう。

(1)まず、グループ化したいステップをマウスで選択します。ここでは[Load Page]から[Click 検索]までのステップをドラッグして範囲選択してください。


(2)選択されたステップは青色になりますので、確認してから[グループ化]をクリックします。


(3)グループ化されたステップの[ステップ名]は、「レシピ検索」と入力しておきましょう。

これで、横に長くて見づらかったステップがスッキリしました。画面左上の[すべて保存]をクリックして保存します。


【5】ロボットを実行する

(1)[デバッグ]をクリックしてから三角形のマークの[実行]をクリックして、ロボットを実行します。


(2)処理が終了したら、ステータス・ビューを確認してください。

レシピ一覧の情報が表示されていればOKです。


ここでは、ウェブページのテキストボックスに値を入力する方法(Enter Text)を紹介するつもりでしたが、フレーム分割されているページの操作方法がメインになってしまいました。
そのおかげで(?)、[更新]をクリックするキャッシュ削除も学習するることができたので、よかった、よかった。・・・・ということにします。